]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Fri, 18 Feb 2011 21:30:25 +0000 (21:30 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 18 Feb 2011 21:30:25 +0000 (21:30 +0000)
* config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
* config/pa/t-pa-hpux11: Add rules to build pthread stubs.
* config/pa/t-pa64: Likewise.
* config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.

From-SVN: r170288

gcc/ChangeLog
gcc/config.gcc
gcc/config/pa/pa-hpux11.h
gcc/config/pa/stublib.c
gcc/config/pa/t-pa-hpux11
gcc/config/pa/t-pa64

index b55a0ac4c70f461b2d7e251ba308650a6cdfa7ac..ecf9cbadd21040f7162aea2b37e0fb29cc39efcf 100644 (file)
@@ -1,3 +1,12 @@
+2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
+       * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
+       pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
+       * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
+       * config/pa/t-pa64: Likewise.
+       * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+
 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/43653
index 544fae18426ffc40260771d36f0f16c35b4c59af..712ea04e7b897cc1da35c043d0f857894fb759a7 100644 (file)
@@ -1066,6 +1066,7 @@ hppa[12]*-*-hpux11*)
        else
            tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
        fi
+       extra_parts="libgcc_stub.a"
        case x${enable_threads} in
        x | xyes | xposix )
                thread_file=posix
index ec8c56c72efda59b012dcb38040381a65730a699..53e18892731b06cbbcf50740757fe5309ad98a90 100644 (file)
@@ -127,6 +127,11 @@ along with GCC; see the file COPYING3.  If not see
        %{!mt:%{!pthread:-a shared -lc -a archive}}}}\
    %{shared:%{mt|pthread:-lpthread}}"
 
+/* The libgcc_stub.a library needs to come last.  */
+#undef LINK_GCC_C_SEQUENCE_SPEC
+#define LINK_GCC_C_SEQUENCE_SPEC \
+  "%G %L %G %{!nostdlib:%{!nodefaultlibs:%{!shared:-lgcc_stub}}}"
+
 #undef STARTFILE_SPEC
 #define STARTFILE_SPEC \
   "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}} \
index 8b38c8e39b2f992836ea616b62a900736e21ea80..283c5c1fb827003a6140220e976a5e8d66cbaf4b 100644 (file)
@@ -56,3 +56,42 @@ _Jv_RegisterClasses (void *p)
 {
 }
 #endif
+
+#ifdef L_pthread_default_stacksize_np
+int pthread_default_stacksize_np (unsigned long __attribute__((unused)),
+                                 unsigned long *);
+int
+pthread_default_stacksize_np (unsigned long new, unsigned long *old)
+{
+  if (old)
+    *old = 0;
+  return 0;
+}
+#endif
+
+#ifdef L_pthread_mutex_lock
+int pthread_mutex_lock (void);
+int
+pthread_mutex_lock (void)
+{
+  return 0;
+}
+#endif
+
+#ifdef L_pthread_mutex_unlock
+int pthread_mutex_unlock (void);
+int
+pthread_mutex_unlock (void)
+{
+  return 0;
+}
+#endif
+
+#ifdef L_pthread_once
+int pthread_once (void);
+int
+pthread_once (void)
+{
+  return 0;
+}
+#endif
index 2773828ac39f194b7d5c7e4577257f6258efb8ed..4436b4ca640d7fa9d17b6cb1bac35dbd22b2305d 100644 (file)
@@ -1,2 +1,31 @@
 TARGET_LIBGCC2_CFLAGS = -fPIC -frandom-seed=fixed-seed
 LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c
+LIBGCCSTUB_OBJS = pthread_default_stacksize_np-stub.o \
+       pthread_mutex_lock-stub.o \
+       pthread_mutex_unlock-stub.o \
+       pthread_once-stub.o
+
+stublib.c: $(srcdir)/config/pa/stublib.c
+       rm -f stublib.c
+       cp $(srcdir)/config/pa/stublib.c .
+
+pthread_default_stacksize_np-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_default_stacksize_np stublib.c \
+         -o pthread_default_stacksize_np-stub.o
+
+pthread_mutex_lock-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_mutex_lock stublib.c \
+         -o pthread_mutex_lock-stub.o
+
+pthread_mutex_unlock-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_mutex_unlock stublib.c \
+         -o pthread_mutex_unlock-stub.o
+
+pthread_once-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_once stublib.c \
+         -o pthread_once-stub.o
+
+$(T)libgcc_stub.a: $(LIBGCCSTUB_OBJS)
+       -rm -rf $(T)libgcc_stub.a
+       $(AR) rc $(T)libgcc_stub.a $(LIBGCCSTUB_OBJS)
+       $(RANLIB) $(T)libgcc_stub.a
index 66b7e545cf80fee7719ebf87f6be574648f771b5..811a5e395e4dc761494c317818d95d27cd81b9e2 100644 (file)
 
 TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1 -mlong-calls
 LIB2FUNCS_EXTRA = quadlib.c
-LIBGCCSTUB_OBJS = rfi-stub.o dfi-stub.o jvrc-stub.o cxaf-stub.o
+LIBGCCSTUB_OBJS = rfi-stub.o dfi-stub.o jvrc-stub.o cxaf-stub.o \
+       pthread_default_stacksize_np-stub.o \
+       pthread_mutex_lock-stub.o \
+       pthread_mutex_unlock-stub.o \
+       pthread_once-stub.o
 
 stublib.c: $(srcdir)/config/pa/stublib.c
        rm -f stublib.c
@@ -41,6 +45,22 @@ jvrc-stub.o: stublib.c $(GCC_PASSES)
        $(GCC_FOR_TARGET) -c -O2 -DL_Jv_RegisterClasses stublib.c \
          -o jvrc-stub.o
 
+pthread_default_stacksize_np-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_default_stacksize_np stublib.c \
+         -o pthread_default_stacksize_np-stub.o
+
+pthread_mutex_lock-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_mutex_lock stublib.c \
+         -o pthread_mutex_lock-stub.o
+
+pthread_mutex_unlock-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_mutex_unlock stublib.c \
+         -o pthread_mutex_unlock-stub.o
+
+pthread_once-stub.o: stublib.c $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -O2 -DL_pthread_once stublib.c \
+         -o pthread_once-stub.o
+
 $(T)libgcc_stub.a: $(LIBGCCSTUB_OBJS)
        -rm -rf $(T)libgcc_stub.a
        $(AR) rc $(T)libgcc_stub.a $(LIBGCCSTUB_OBJS)