Building with AIX gcc 3.3
Frank Patz
fp@contact.de
Thu Aug 7 18:11:00 GMT 2003
David wrote:
> >> nm -BCpg *.o | awk '{ if ((($2 == "T") || ($2 == "D") || ($2
> >> == "B")) && (substr($3,1,1) != ".")) { print $3 } }' | sort
> >> -u > icu.exp
> >>
> >> Also, you need to use -Wl,-G when creating the shared object and
> >> -Wl,-brtl when linking the final application.
>
> Frank> Doesn't the GCC frontend do all this automatically?
> collect2 generates
> Frank> an export file and adds it to the linker command, and
> -brtl is added
> Frank> automatically, when -shared is used. The frontend does
> not add -G
> Frank> automatically when linking shared libraries, however.
> On the other hand
> Frank> this doesn't seem to make a difference.
>
> collect2 creates an export file for symbols that collect2
> generates -- static constructors and destructors, and frames.
> collect2
> cannot make assumptions about how user symbols will be used and cannot
> generate an export file for those.
You're right, David. How could I doubt that. I was just to lazy to
look at the .x-file contents.
> Also, GCC does not invoke the linker with "-brtl" under any
> circumstances. GCC "-shared" invokes the linker with "-bM:SRE", which
> creates a shared object. GCC does not make any assumptions
> about the user expecting System-V semantics.
Your point also: someone modified the specs file at our site. Don't
know why ...
Sorry,
- frank
More information about the Gcc-help
mailing list