patches/glibc/2.3.3/glibc-2.3.3-unwind-dw2.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
See http://sources.redhat.com/ml/libc-alpha/2004-02/msg00138.html
yann@1
     2
aka http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2004-02&msgid=20040220044155.GE22135%40baldric.uwo.ca
yann@1
     3
yann@1
     4
In CVS as
yann@1
     5
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/unwind-dw2.c.diff?r1=1.7&r2=1.8&cvsroot=glibc'
yann@1
     6
yann@1
     7
Revision 1.8, Sat Feb 21 09:07:29 2004 UTC (5 months, 3 weeks ago) by drepper
yann@1
     8
yann@1
     9
	Allow sjlj enabled compilers to build the code by removing
yann@1
    10
	__USING_SJLJ_EXCEPTIONS__ wrapper.
yann@1
    11
yann@1
    12
plus
yann@1
    13
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/framestate.c.diff?r1=1.3&r2=1.4&cvsroot=glibc'
yann@1
    14
yann@1
    15
Revision 1.4, Sat Feb 21 09:07:05 2004 UTC (5 months, 3 weeks ago) by drepper
yann@1
    16
yann@1
    17
	[__USING_SJLJ_EXCEPTIONS__] (__frame_state_for): Set frame_State_for
yann@1
    18
	to abort if the compiler is using sjlj.
yann@1
    19
yann@1
    20
Fixes compile error
yann@1
    21
yann@1
    22
../sysdeps/generic/framestate.c: In function `__frame_state_for':
yann@1
    23
../sysdeps/generic/framestate.c:44: error: `fallback_frame_state_for' undeclared (first use in this function)
yann@1
    24
../sysdeps/generic/framestate.c:44: error: (Each undeclared identifier is reported only once
yann@1
    25
../sysdeps/generic/framestate.c:44: error: for each function it appears in.)
yann@1
    26
make[2]: *** [crosstool-0.28-rc34/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/elf/framestate.os] Error 1
yann@1
    27
yann@1
    28
===================================================================
yann@1
    29
RCS file: /cvs/glibc/libc/sysdeps/generic/unwind-dw2.c,v
yann@1
    30
retrieving revision 1.7
yann@1
    31
retrieving revision 1.8
yann@1
    32
diff -u -r1.7 -r1.8
yann@1
    33
--- libc/sysdeps/generic/unwind-dw2.c	2003/07/22 23:55:55	1.7
yann@1
    34
+++ libc/sysdeps/generic/unwind-dw2.c	2004/02/21 09:07:29	1.8
yann@1
    35
@@ -39,7 +39,6 @@
yann@1
    36
 #endif
yann@1
    37
 
yann@1
    38
 
yann@1
    39
-#ifndef __USING_SJLJ_EXCEPTIONS__
yann@1
    40
 
yann@1
    41
 #ifndef STACK_GROWS_DOWNWARD
yann@1
    42
 #define STACK_GROWS_DOWNWARD 0
yann@1
    43
@@ -1287,4 +1286,3 @@
yann@1
    44
 #include "unwind.inc"
yann@1
    45
 
yann@1
    46
 #endif /* _LIBC */
yann@1
    47
-#endif /* !USING_SJLJ_EXCEPTIONS */
yann@1
    48
===================================================================
yann@1
    49
RCS file: /cvs/glibc/libc/sysdeps/generic/framestate.c,v
yann@1
    50
retrieving revision 1.3
yann@1
    51
retrieving revision 1.4
yann@1
    52
diff -u -r1.3 -r1.4
yann@1
    53
--- libc/sysdeps/generic/framestate.c	2003/01/08 06:46:06	1.3
yann@1
    54
+++ libc/sysdeps/generic/framestate.c	2004/02/21 09:07:05	1.4
yann@1
    55
@@ -41,7 +41,11 @@
yann@1
    56
       if (handle == NULL
yann@1
    57
 	  || (frame_state_for
yann@1
    58
 	      = (framesf) __libc_dlsym (handle, "__frame_state_for")) == NULL)
yann@1
    59
+#ifndef __USING_SJLJ_EXCEPTIONS__
yann@1
    60
 	frame_state_for = fallback_frame_state_for;
yann@1
    61
+#else
yann@1
    62
+      	frame_state_for = abort;
yann@1
    63
+#endif
yann@1
    64
     }
yann@1
    65
 
yann@1
    66
   return frame_state_for (pc, frame_state);