mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 09:14:46 +08:00
crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
* crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined. Remove ia32 linux PIC kludge and move it... * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here. From-SVN: r40627
This commit is contained in:
parent
7343a5a99b
commit
373368fd87
@ -1,3 +1,9 @@
|
||||
2001-03-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
|
||||
Remove ia32 linux PIC kludge and move it...
|
||||
* config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
|
||||
|
||||
Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (absdf2 expander): Fix 64bit case.
|
||||
|
@ -170,3 +170,21 @@ Boston, MA 02111-1307, USA. */
|
||||
} \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
#if defined(__PIC__) && defined (USE_GNULIBC_1)
|
||||
/* 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. */
|
||||
|
||||
#define CRT_END_INIT_DUMMY \
|
||||
do \
|
||||
{ \
|
||||
extern void *___brk_addr; \
|
||||
extern char **__environ; \
|
||||
\
|
||||
___brk_addr = __environ; \
|
||||
atexit (0); \
|
||||
} \
|
||||
while (0)
|
||||
#endif
|
||||
|
@ -414,20 +414,8 @@ 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;
|
||||
|
||||
___brk_addr = __environ;
|
||||
atexit (0);
|
||||
}
|
||||
#ifdef CRT_END_INIT_DUMMY
|
||||
CRT_END_INIT_DUMMY;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user