bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]