This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Don't generate .IMPORT after .EXPORT for external libcalls on PA
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Subject: Re: PATCH: Don't generate .IMPORT after .EXPORT for external libcalls on PA
- From: law at redhat dot com
- Date: Mon, 24 Sep 2001 09:46:34 -0600
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <200109221931.f8MJVhXt023620@hiauly1.hia.nrc.ca>you write:
> Function symbols are exported with type "ENTRY" on the PA when using SOM.
> They are imported with type "CODE". If a source module contains the
> implementation of a libcall along with a subsequent call to it, a
> .IMPORT statement will be generated after the .EXPORT statement. The
> HP assembler blindly changes the symbol type to CODE. As a result,
> the linker can't find the symbol to resolve references in other modules.
>
> The particular circumstances where a problem was noted was with the libcall
> __gxx_personality_sj0 implemented in eh_personality.cc.
>
> This patch adds a check to ASM_OUTPUT_EXTERNAL_LIBCALL to see if a
> referenced identifier for the symbol already exists. There is also
> a small formatting fix to ASM_OUTPUT_EXTERNAL.
>
> Bootstrap checked with no regressions on hppa1.1-hp-hpux10.20.
>
> OK?
>
> Dave
> --
> J. David Anglin dave.anglin@nrc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-6
> 605)
>
> 2001-09-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
>
> * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
> (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
> the libcall if there isn't a referenced identifier for the symbol.
Approved. Please install.
jeff