Skip to content

fix: Sync GLOB_DAT allocation and writing conditions#1845

Merged
mati865 merged 1 commit intowild-linker:mainfrom
mati865:push-qymnrqpxksrl
Apr 16, 2026
Merged

fix: Sync GLOB_DAT allocation and writing conditions#1845
mati865 merged 1 commit intowild-linker:mainfrom
mati865:push-qymnrqpxksrl

Conversation

@mati865
Copy link
Copy Markdown
Member

@mati865 mati865 commented Apr 15, 2026

They went out of sync back in 1c40a0c.

This used to cause linking of x86_64 Android Chromium to fail as described in #1561 (comment), but no longer does since #1837.

@mati865 mati865 force-pushed the push-qymnrqpxksrl branch from eae379a to 9b5b442 Compare April 15, 2026 23:55
@mati865
Copy link
Copy Markdown
Member Author

mati865 commented Apr 16, 2026

Note that I have no clue which behaviour is the correct one, and I failed to create self-contained test.
Before #1837 it was resolved as (skipping undefined symbols to avoid clutter):

  10074005: Global Func: DYNAMIC | NON_INTERPOSABLE | DOWNGRADE_TO_LOCAL | FUNCTION | DIRECT | GOT
    cbrtf version `@@LIBC`
    #76 in File #46616 (182/24) /home/mateusz/tmp/chromium/home/mateusz/Projects/chromium/src/out/Default/../../third_party/android_toolchain/ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/29/libm.so (LOADED)
  10123927 -> 10074005: Weak Func: NON_INTERPOSABLE | DOWNGRADE_TO_LOCAL
    cbrtf
    #10 in File #46815 (182/223) ./home/mateusz/Projects/chromium/src/out/Default/local_rustc_sysroot/lib/rustlib/x86_64-linux-android/lib/libcompiler_builtins_compiler_builtins.rlib @ libcompiler_builtins_compiler_builtins.compiler_builtins.d7f7d3f37644b6ac-cgu.161.rcgu.o (NOT LOADED)

and with current main:

 • 10074005: Global Func: DYNAMIC | FUNCTION | GOT | PLT
    cbrtf version `@@LIBC`
    #76 in File #46616 (182/24) /home/mateusz/tmp/chromium/home/mateusz/Projects/chromium/src/out/Default/../../third_party/android_toolchain/ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/29/libm.so (LOADED)
 • 10123927 -> 10074005: Weak Func: NON_INTERPOSABLE | DOWNGRADE_TO_LOCAL
    cbrtf
    #10 in File #46815 (182/223) ./home/mateusz/Projects/chromium/src/out/Default/local_rustc_sysroot/lib/rustlib/x86_64-linux-android/lib/libcompiler_builtins_compiler_builtins.rlib @ libcompiler_builtins_compiler_builtins.compiler_builtins.d7f7d3f37644b6ac-cgu.161.rcgu.o (NOT LOADED)

I guess both versions would be fine as long as the resolved flags are sensible.

Copy link
Copy Markdown
Member

@davidlattimore davidlattimore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I attempted to reproduce from a test case and was also unsuccessful. Good to have things in sync in anycase.

@mati865 mati865 merged commit 12630bb into wild-linker:main Apr 16, 2026
24 checks passed
@mati865 mati865 deleted the push-qymnrqpxksrl branch April 16, 2026 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants