This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Patches for egcs-971016 on AIX
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: Patches for egcs-971016 on AIX
- From: Andrey Slepuhin <pooh at msu dot ru>
- Date: Wed, 22 Oct 1997 12:05:05 +0400
- CC: egcs at cygnus dot com
- Organization: Moscow State University, Network Management Department
- References: <9710220014.AA32804@rios1.watson.ibm.com>
David Edelsohn wrote:
> Your script seemed to handle symbols with the name _GLOBAL_ in
> them, which are ctors and dtors. Your patch did not appear to deal with
> all global symbols in general.
You are nor right: my script exports all global symbols *except*
_GLOBAL_*,
because global ctrs/dtrs are exported by default via collect2.
> You might simply be able to use -bexpall
> in AIX 4.2 if you simply want all global symbols exported. I do not know
> why someone said that this did not work.
The use of -bexpall is bad idea because of two reasons:
1) This is only AIX 4.2 feature, so it wouldn't work on AIX 4.1.*.
2) -bexpall option *does not* export symbols beginning with an
underscore
(I think that's why my attempts to build shared objects using this
option failed).
> The whole idea of exports in AIX
> is to give users finer control and prevent unnecessary namespace polution.
Well, but I believe that compiler does not make unnecessary globals
(at least it shouldn't :-))
> Also, you need to be careful with invoking "nm". If you do not
> give a complete path, the user's path is used. "nm" exists in both
> /usr/ucb and /usr/bin with different formats. This is why
> REAL_NM_FILENAME is defined in rs6000.h
Well, I check this carefully.
Andrey.