Hi Niels, > Michael Tautschnig <[email protected]> writes: > > > I'm not sure where such behaviour would be specified for a unix > > linker!? > > Not sure, either. It is described quite clearly in Levine's "Linkers and > Loaders" (see sec 6.4). Which is recommended reading for anything > linker-related. >
I'm sorry, I've only got the online version (from http://www.iecc.com/linker/) at hand right now, which doesn't seem to have subsection numbers. Under which heading would I find that information? > I haven't tried checking posix specs, but I imagine it might be > specified there. > I don't think POSIX would say anything regarding the linker. The loader would be part of the operating system maybe, but a linker is neither tied to the source language nor the loader. It lives in a not terribly well specified space... > > gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat > > -Werror=format-security -ggdb3 -Wall -W -Wmissing-prototypes > > -Wmissing-declarations -Wstrict-prototypes -Waggregate-return > > -Wpointer-arith -Wbad-function-cast -Wnested-externs -Wl,-z,defs > > -Wl,--as-needed -Wl,-z,relro -o ex3 ex3.o ../libargp.a > > I'm not entirely sure what the specified linker flags mean, but order > looks correct. What was the error message, precisely? > Well, the error is not raised by ld, but only by our research tool chain. I don't think this is what you were looking for, but anyhow: error: conflicting initializers for variable `c::argp_program_bug_address' old value: &"<[email protected]>"[0] Module: ex3 new value: NULL Module: argp-ba Best, Michael
pgp6jxlxpZPZ4.pgp
Description: PGP signature

