]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/commitdiff
new gcc-2_10_0-27 gcc-2_95_3-28 gcc-2_95_3-29
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 19 Mar 2001 18:40:45 +0000 (18:40 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-crtendS.patch -> 1.1

gcc-crtendS.patch [new file with mode: 0644]

diff --git a/gcc-crtendS.patch b/gcc-crtendS.patch
new file mode 100644 (file)
index 0000000..7874c32
--- /dev/null
@@ -0,0 +1,51 @@
+diff -urN gcc-2.95.3.org/gcc/config/i386/linux.h gcc-2.95.3/gcc/config/i386/linux.h
+--- gcc-2.95.3.org/gcc/config/i386/linux.h     Mon Mar 19 19:35:22 2001
++++ gcc-2.95.3/gcc/config/i386/linux.h Mon Mar 19 19:36:46 2001
+@@ -234,3 +234,21 @@
+     }                                                                 \
+   } 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
+diff -urN gcc-2.95.3.org/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c
+--- gcc-2.95.3.org/gcc/crtstuff.c      Mon Mar 19 19:35:22 2001
++++ gcc-2.95.3/gcc/crtstuff.c  Mon Mar 19 19:37:56 2001
+@@ -379,20 +379,8 @@
+   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 ();
+-  }
++#ifdef CRT_END_INIT_DUMMY
++  CRT_END_INIT_DUMMY;
+ #endif
+ }
This page took 0.092114 seconds and 4 git commands to generate.