>From dc7e188798e13f2bf17fa1580e72e13a950c9b30 Mon Sep 17 00:00:00 2001
From: Jason Woodward <[email protected]>
Date: Sat, 11 Jun 2011 01:13:41 -0400
Subject: [PATCH 3/3] [NPTL SH4] Use arch pt-initfini.c if available

SH provides a pt-initfini.c, so use that instead of
libpthread/nptl/sysdeps/pthread/pt-initfini.c

This prevents:
  libpthread/nptl/sysdeps/pthread/crti.S: Assembler messages:
  libpthread/nptl/sysdeps/pthread/crti.S:25: Error: pcrel too far
  libpthread/nptl/sysdeps/pthread/crti.S:26: Error: pcrel too far
  libpthread/nptl/sysdeps/pthread/crti.S:28: Error: pcrel too far
  libpthread/nptl/sysdeps/pthread/crti.S:53: Error: pcrel too far
  libpthread/nptl/sysdeps/pthread/crti.S:56: Error: pcrel too far
  make[1]: *** [libpthread/nptl/sysdeps/pthread/crti.o] Error 1

There is probably a better way to handle this... but since 9381d622e2411a35a5fd7
I do not want to even try.

Signed-off-by: Jason Woodward <[email protected]>
---
 libpthread/nptl/sysdeps/pthread/Makefile.in |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index d93b3a5..1117cf3 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -76,12 +76,21 @@ CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions	\
 ASFLAGS-crti.S = -g0
 ASFLAGS-crtn.S = -g0
 
+ifneq ($(wildcard $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c),)
+$(libpthread_pthread_OUT)/pt-initfini.s: $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c
+	$(compile.c)
+$(libpthread_pthread_OUT)/defs.h: $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c
+	$(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
+		$(AWK) -f $(top_srcdir)extra/scripts/defs.awk > [email protected]
+	$(Q)mv [email protected] $@
+else
 $(libpthread_pthread_OUT)/pt-initfini.s: $(libpthread_pthread_DIR)/pt-initfini.c
 	$(compile.c)
 $(libpthread_pthread_OUT)/defs.h: $(libpthread_pthread_DIR)/pt-initfini.c
 	$(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
 		$(AWK) -f $(top_srcdir)extra/scripts/defs.awk > [email protected]
 	$(Q)mv [email protected] $@
+endif
 
 $(libpthread_pthread_OUT)/crti.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h
 	$(do_sed) -n -e '/[ 	]*\.file/d' \
-- 
1.7.0.4

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to