Module Name: src
Committed By: mrg
Date: Fri Jul 1 01:23:01 UTC 2011
Modified Files:
src/external/gpl3/gcc/dist/gcc: gcc.c
src/external/gpl3/gcc/dist/gcc/config: netbsd.h
Log Message:
move the LIBGCC_PICSUFFIX hack into netbsd.h as the REAL_LIBGCC_SPEC.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/gcc/dist/gcc/gcc.c
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gcc/dist/gcc/config/netbsd.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/gcc.c
diff -u src/external/gpl3/gcc/dist/gcc/gcc.c:1.6 src/external/gpl3/gcc/dist/gcc/gcc.c:1.7
--- src/external/gpl3/gcc/dist/gcc/gcc.c:1.6 Thu Jun 30 03:37:23 2011
+++ src/external/gpl3/gcc/dist/gcc/gcc.c Fri Jul 1 01:23:00 2011
@@ -1753,47 +1753,24 @@
{
char *buf;
- buf = concat ("%{static",
-#ifdef LIBGCC_PICSUFFIX
- ": ", static_name, " ", eh_name, "}",
- "%{static-libgcc: ",
- "%{!shared:", static_name, " ", eh_name, "}",
- "%{shared:", static_name, LIBGCC_PICSUFFIX, " ",
- eh_name, LIBGCC_PICSUFFIX, "}",
-#else
- "|static-libgcc:", static_name, " ", eh_name,
-#endif
- "}"
+ buf = concat ("%{static|static-libgcc:", static_name, " ", eh_name, "}"
"%{!static:%{!static-libgcc:"
#if USE_LD_AS_NEEDED
"%{!shared-libgcc:",
- static_name,
-#ifdef LIBGCC_PICSUFFIX
- LIBGCC_PICSUFFIX,
-#endif
- " --as-needed ", shared_name, " --no-as-needed"
+ static_name, " --as-needed ", shared_name, " --no-as-needed"
"}"
"%{shared-libgcc:",
- shared_name, "%{!shared: ", static_name,
-#ifdef LIBGCC_PICSUFFIX
- LIBGCC_PICSUFFIX,
-#endif
- "}"
+ shared_name, "%{!shared: ", static_name, "}"
"}"
#else
"%{!shared:"
"%{!shared-libgcc:", static_name, " ", eh_name, "}"
"%{shared-libgcc:", shared_name, " ", static_name, "}"
"}"
-/* XXX NH XXX */
-#ifdef LINK_EH_SPEC || 1
+#ifdef LINK_EH_SPEC
"%{shared:"
"%{shared-libgcc:", shared_name, "}"
- "%{!shared-libgcc:", static_name,
-#ifdef LIBGCC_PICSUFFIX
- LIBGCC_PICSUFFIX,
-#endif
- "}"
+ "%{!shared-libgcc:", static_name, "}"
"}"
#else
"%{shared:", shared_name, "}"
Index: src/external/gpl3/gcc/dist/gcc/config/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/netbsd.h:1.4 src/external/gpl3/gcc/dist/gcc/config/netbsd.h:1.5
--- src/external/gpl3/gcc/dist/gcc/config/netbsd.h:1.4 Tue Jun 28 09:27:39 2011
+++ src/external/gpl3/gcc/dist/gcc/config/netbsd.h Fri Jul 1 01:23:01 2011
@@ -149,12 +149,21 @@
#undef LIB_SPEC
#define LIB_SPEC NETBSD_LIB_SPEC
-/* Don't provide a LIBGCC_SPEC appropriate for NetBSD as the default
- is correct. In the --disabled-shared case -lgcc is perfect. */
+/* Provide a LIBGCC_SPEC for NetBSD that will find libgcc_pic. Override
+ the this entirely by defining REAL_LIBGCC_SPEC. */
-#if defined(NETBSD_TOOLS) || defined(NETBSD_NATIVE)
-#define LIBGCC_PICSUFFIX "_pic"
-#endif
+#define NETBSD_LIBGCC_SPEC \
+ "%{static:-lgcc -lgcc_eh} \
+ %{static-libgcc: \
+ %{!shared:-lgcc -lgcc_eh \
+ %{shared:-lgcc_pic -lgcc_eh_pic}}} \
+ %{!static: \
+ %{!static-libgcc: \
+ %{!shared-libgcc:-lgcc_pic --as-needed -lgcc_s --no-as-needed } \
+ %{shared-libgcc:-lgcc_s \
+ %{!shared: -lgcc_pic}}}}" \
+
+#define REAL_LIBGCC_SPEC NETBSD_LIBGCC_SPEC
/* Pass -cxx-isystem to cc1/cc1plus. */
#define NETBSD_CC1_AND_CC1PLUS_SPEC \