[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/24613] ld --help for -z defs and --no-undefined
From: |
i at maskray dot me |
Subject: |
[Bug ld/24613] ld --help for -z defs and --no-undefined |
Date: |
Sun, 05 Apr 2020 21:03:15 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=24613
Fangrui Song <i at maskray dot me> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |i at maskray dot me
--- Comment #6 from Fangrui Song <i at maskray dot me> ---
Hi Dilyan and Nick,
-Wl,--warn-unresolved-symbols is very rare. Making `-z defs
--warn-unresolved-symbols` warn rather than error may be fine. It is unlikely
to cause a friction.
# warning
% gold a1.o --warn-unresolved-symbols -z defs
a1.o(.text+0x1): warning: undefined reference to 'undef'
% ld.lld a1.o --warn-unresolved-symbols -z defs
ld.lld: warning: undefined symbol: undef
>>> referenced by a1.o:(.text+0x1)
# error
% ld.bfd a1.o --warn-unresolved-symbols -z defs
ld.bfd: a1.o: in function `_shared':
(.text+0x1): undefined reference to `undef'
Another similar option is --unresolved-symbols=report-all. All of GNU ld, gold
and lld warn with --warn-unresolved-symbols
% ld.bfd a1.o --warn-unresolved-symbols --unresolved-symbols=report-all
ld.bfd: a1.o: in function `_shared':
(.text+0x1): warning: undefined reference to `undef'
My understanding:
There are two kinds of unresolved references: 1) from object files 2) from
shared objects. --unresolved-symbols= toggles both bits while -z (un)defs and
--(no-)allow-shlib-undefined toggles one bit, respectively. I personally favor
the fine-grained options over --unresolved-symbols=
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/24613] ld --help for -z defs and --no-undefined,
i at maskray dot me <=