You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
12 years ago
|
--- a/libgcc/crtstuff.c
|
||
|
+++ b/libgcc/crtstuff.c
|
||
|
@@ -100,15 +100,20 @@ call_ ## FUNC (void) \
|
||
|
#if defined(OBJECT_FORMAT_ELF) \
|
||
|
&& !defined(OBJECT_FORMAT_FLAT) \
|
||
|
&& defined(HAVE_LD_EH_FRAME_HDR) \
|
||
|
- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
|
||
|
- && defined(__GLIBC__) && __GLIBC__ >= 2
|
||
|
+ && !defined(inhibit_libc) && !defined(CRTSTUFFT_O)
|
||
|
#include <link.h>
|
||
|
/* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
|
||
|
But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
|
||
|
-# if !defined(__UCLIBC__) \
|
||
|
- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
|
||
|
- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
|
||
|
-# define USE_PT_GNU_EH_FRAME
|
||
|
+# if defined(__UCLIBC__)
|
||
|
+# if (__UCLIBC_MAJOR__ > 0 || __UCLIBC_MINOR__ > 9 || \
|
||
|
+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ >= 33))
|
||
|
+# define USE_PT_GNU_EH_FRAME
|
||
|
+# endif
|
||
|
+# elif defined(__GLIBC__)
|
||
|
+# if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
|
||
|
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
|
||
|
+# define USE_PT_GNU_EH_FRAME
|
||
|
+# endif
|
||
|
# endif
|
||
|
#endif
|
||
|
|