> Building the JDK on macOS with the Xcode 26 linker (ld version 1267) produces:
> 
> 
> ld: warning: reducing alignment of section __DATA,__common from 0x8000 to 
> 0x4000 because it exceeds segment maximum alignment
> 
> 
> This comes from libawt, specifically the tentative definitions of `mul8table` 
> and `div8table` in `AlphaMath.c`. These are 64KB uninitialized global arrays 
> that the compiler places in the __common section with 32KB alignment. The 
> Xcode 26 linker caps segment alignment at 16KB (the arm64 page size) and 
> warns when clamping.
> 
> The fix is to change the tentative definitions to explicit zero-initialized 
> definitions:
> 
> Before:
> 
> JNIEXPORT unsigned char mul8table[256][256];
> JNIEXPORT unsigned char div8table[256][256];
> 
> 
> After:
> 
> JNIEXPORT unsigned char mul8table[256][256] = { { 0 } };
> JNIEXPORT unsigned char div8table[256][256] = { { 0 } };
> 
> 
> This moves the symbols from __common to __bss, avoiding the alignment 
> warning. Both sections are zero-filled at load time, and `initAlphaTables()` 
> populates the actual values at runtime, so the change is functionally 
> identical. No impact on other platforms.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

George Adams has updated the pull request incrementally with one additional 
commit since the last revision:

  bump copyright year

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/31294/files
  - new: https://git.openjdk.org/jdk/pull/31294/files/37367ad4..6a190a6c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=31294&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=31294&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/31294.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/31294/head:pull/31294

PR: https://git.openjdk.org/jdk/pull/31294

Reply via email to