Michael Tautschnig <m...@debian.org> writes:

> src/argp/testsuite/ex3.c:const char *argp_program_bug_address = 
> "<bug-gnu-ut...@gnu.org>";
> src/argp/argp-ba.c:const char *argp_program_bug_address = 0;

> (The latter goes in src/argp/libargp.a.)
>
> The linker is free to pick either of the values;

No, the linker does *not* have that freedom.

A unix linker is supposed to process arguments in order, and bring in
argp-ba.o from libargp.a if and only if the symbol
argp_program_bug_address (the *only* symbol defined in that file) is
referenced in the earlier objects, but *not* defined in the earlier
objects.

What does your linker command line look like? Order matters, and -largp
must be placed after ex3.o.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to