This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Export __enable_execute_stack


On Fri, Jun 11, 2004 at 03:40:13PM +0200, Eric Botcazou wrote:
> Hi,
> 
> This patch lets libgcc.so export __enable_execute_stack (the function is 
> required for trampoline support on Solaris, NetBSD, FreeBSD/SPARC64 and OSF).  
> I added a new target macro ENABLE_EXECUTE_STACK so as to uncouple it from 
> TRANSFER_FROM_TRAMPOLINE.

BTW: on ppc-linux at least (but I think darwin too and maybe others)
__trampoline_setup is not exported from libgcc_s.  Shouldn't it be exported
as well (@GCC_3.3.4 or @GCC_3.4.1)?

It causes Ada bootstrap failure: libgnat-3.4.so.1 is linked with gcc -shared
-shared-libgcc and uses this function, so has it as undefined reference.
This means no program can link against that shared library, as ld will die
with:
(cd ada/bldtools; gnatmake -q xeinfo ; ./xeinfo ../einfo.h )
gcc -c   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes        -DHAVE_CONFIG_H    -I. -Iada -I../../gcc -I../../gcc/ada -I../../gcc/../include  ../../gcc/ada/link.c -o ada/link.o
/usr/bin/ld: xnmake: hidden symbol `__trampoline_setup' in /usr/lib/gcc/ppc64-redhat-linux/3.4.0/libgcc.a(tramp.oS) is referenced by DSO
collect2: ld returned 1 exit status

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]