svn commit: [25712] branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm

kraj at uclibc.org kraj at uclibc.org
Wed Mar 18 02:51:45 UTC 2009


Author: kraj
Date: 2009-03-18 02:51:45 +0000 (Wed, 18 Mar 2009)
New Revision: 25712

Log:
Always compile fork.S in arm mode. Make _Unwind_Resume arm only
even when compiling in thumb mode.


Modified:
   branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
   branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c


Changeset:
Modified: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch	2009-03-18 01:17:19 UTC (rev 25711)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch	2009-03-18 02:51:45 UTC (rev 25712)
@@ -18,7 +18,11 @@
 CFLAGS-pthread_once.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1
 CFLAGS-lowlevellock.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1
 
-ASFLAGS-pt-vfork.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1
+ASFLAGS-pt-vfork.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -marm
+# We always compile it in arm mode because of SAVE_PID macro
+# This macro should be alternatively implemented in THUMB
+# assembly.
+ASFLAGS-vfork.S = -marm
 
 CFLAGS += $(SSP_ALL_CFLAGS)
 #CFLAGS:=$(CFLAGS:-O1=-O2)

Modified: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c	2009-03-18 01:17:19 UTC (rev 25711)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c	2009-03-18 02:51:45 UTC (rev 25712)
@@ -19,6 +19,7 @@
 
 #include <dlfcn.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <unwind.h>
 
 #define __libc_dlopen(x)	dlopen(x, (RTLD_LOCAL | RTLD_LAZY))
@@ -54,6 +55,9 @@
    assembly.  */
 
 __asm__ (
+#ifdef __thumb__
+"       .code 32\n"
+#endif
 "	.globl	_Unwind_Resume\n"
 "	.type	_Unwind_Resume, %function\n"
 "_Unwind_Resume:\n"
@@ -74,6 +78,10 @@
 "1:	.word	_GLOBAL_OFFSET_TABLE_ - 3b - 8\n"
 "2:	.word	libgcc_s_resume(GOTOFF)\n"
 "	.size	_Unwind_Resume, .-_Unwind_Resume\n"
+#ifdef __thumb__
+"       .code 16\n"
+#endif
+
 );
 
 _Unwind_Reason_Code



More information about the uClibc-cvs mailing list