Jakub Jelinek - [PATCH] Remove dead cruft from crtstuff.c (original) (raw)

This is the mail archive of the gcc-patches@gcc.gnu.orgmailing 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]

Hi!

As result of recent atexit changes in glibc using atexit in i386-linux crtendS.o is bad (since if the shared library does not use atexit, it won't be taken from libc_nonshared and shared library will thus end up with non-versioned atexit reference). According to H.J., this kludge was needed only for very very old Linux C libraries and can be safely killed. Ok to commit?

2001-03-16 Jakub Jelinek jakub@redhat.com

* crtstuff.c (init_dummy): Remove obsolete i386 linux crtendS.o
kludge.

--- gcc/crtstuff.c.jj Thu Mar 15 10:55:50 2001 +++ gcc/crtstuff.c Fri Mar 16 13:00:10 2001 @@ -414,21 +414,6 @@ init_dummy (void) FORCE_INIT_SECTION_ALIGN; #endif asm (TEXT_SECTION_ASM_OP);

-/* This is a kludge. The i386 GNU/Linux dynamic linker needs ___brk_addr, - __environ and atexit (). We have to make sure they are in the .dynsym - section. We accomplish it by making a dummy call here. This - code is never reached. */

-#if defined(linux) && defined(PIC) && defined(i386) - { - extern void *___brk_addr; - extern char **__environ;

#else /* OBJECT_FORMAT_ELF */

Jakub

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