trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] CMake - how to add library to build?

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 09 Mar 2012 13:59:40 -0600
On 03/09/2012 10:54 AM, Nix wrote:

> This is not a GCC-specific thing: it's a local distro patch to GCC's
> specfiles forcing the addition of -Wl,--no-copy-dt-needed-entries to all
> link lines (or -Wl,--no-add-needed on older binutils, which means the
> same thing but is a confusing option name so is deprecated). This is a
> good idea in the longer run, even though it does break things now.
> 
> (A lot of distros have this patch, but not all. Upstream GCC does not
> have it.)
> 
>> I'm using gcc 4.6.3-1 :(
> 
> This is, of course, a local distro version. What patches are applied
> depends on what distro you're using.
> 

Nix,

  That got me curious and I looked at all the patches - not many, and I can't
find the one your talking about. Below are all the patches applied to Archlinux
gcc. Is what you are talking about there, so I know what patch is doing it??

tmp/gcc> for i in *.patch; do \
echo -e "\n################## $i ################\n" \
cat $i; done

################## gcc-4.6.2-cloog-0.17.patch ################

diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure
--- gcc-4.6-20120120-orig/configure     2011-12-18 20:03:44.000000000 +1000
+++ gcc-4.6-20120120/configure  2012-02-03 17:55:14.885990135 +1000
@@ -6049,8 +6049,8 @@
     LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"

     if test "${cloog_org}" = yes ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of
CLooG" >&5
-$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; }
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of
CLooG" >&5
+$as_echo_n "checking for version 0.17 of CLooG... " >&6; }
 if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
@@ -6061,8 +6061,7 @@
 main ()
 {
 #if CLOOG_VERSION_MAJOR != 0 \
-    || CLOOG_VERSION_MINOR != 16 \
-    || CLOOG_VERSION_REVISION < 1
+    || CLOOG_VERSION_MINOR != 17
     choke me
    #endif
   ;
diff -Naur gcc-4.6-20120120-orig/gcc/graphite-clast-to-gimple.c
gcc-4.6-20120120/gcc/graphite-clast-to-gimple.c
--- gcc-4.6-20120120-orig/gcc/graphite-clast-to-gimple.c        2011-03-13
08:05:38.000000000 +1000
+++ gcc-4.6-20120120/gcc/graphite-clast-to-gimple.c     2012-02-03
17:51:47.943463879 +1000
@@ -1367,7 +1367,7 @@
   /* Change cloog output language to C.  If we do use FORTRAN instead, cloog
      will stop e.g. with "ERROR: unbounded loops not allowed in FORTRAN.", if
      we pass an incomplete program to cloog.  */
-  options->language = LANGUAGE_C;
+  options->language = CLOOG_LANGUAGE_C;

   /* Enable complex equality spreading: removes dummy statements
      (assignments) in the generated code which repeats the

################## gcc-hash-style-both.patch ################

--- gcc/config/alpha/linux-elf.h.orig   2010-12-09 23:27:07.000000000 +1000
+++ gcc/config/alpha/linux-elf.h        2011-03-11 10:01:47.770000457 +1000
@@ -41,7 +41,7 @@

 #define ELF_DYNAMIC_LINKER     LINUX_DYNAMIC_LINKER

-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}         \
+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax}       \
   %{O*:-O3} %{!O*:-O1}                                         \
   %{shared:-shared}                                            \
   %{!shared:                                                   \
--- gcc/config/i386/linux64.h.orig      2011-03-03 08:35:36.000000000 +1000
+++ gcc/config/i386/linux64.h   2011-03-11 10:01:47.770000457 +1000
@@ -78,7 +78,7 @@
  %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"

 #undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386}
--hash-style=both \
   %{shared:-shared} \
   %{!shared: \
     %{!static: \
--- gcc/config/i386/linux.h.orig        2011-01-15 04:45:06.000000000 +1000
+++ gcc/config/i386/linux.h     2011-03-11 10:01:47.770000457 +1000
@@ -104,7 +104,7 @@
   { "dynamic_linker", LINUX_DYNAMIC_LINKER }

 #undef LINK_SPEC
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
--- gcc/config/ia64/linux.h.orig        2010-12-09 23:27:07.000000000 +1000
+++ gcc/config/ia64/linux.h     2011-03-11 10:01:47.770000457 +1000
@@ -64,7 +64,7 @@
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"

 #undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC "--hash-style=both \
   %{shared:-shared} \
   %{!shared: \
     %{!static: \
--- gcc/config/rs6000/linux64.h.orig    2011-02-11 03:30:10.000000000 +1000
+++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000
@@ -389,11 +389,11 @@
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)


-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared:
%{!static: \
   %{rdynamic:-export-dynamic} \
   -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"

-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
   -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"

--- gcc/config/rs6000/sysv4.h.orig      2011-01-28 04:36:03.000000000 +1000
+++ gcc/config/rs6000/sysv4.h   2011-03-11 10:01:47.773333792 +1000
@@ -830,7 +830,7 @@
 #define LINUX_DYNAMIC_LINKER \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)

-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared:
%{!static: \
   %{rdynamic:-export-dynamic} \
   -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"

--- gcc/config/s390/linux.h.orig        2010-12-09 23:27:07.000000000 +1000
+++ gcc/config/s390/linux.h     2011-03-11 10:01:47.770000457 +1000
@@ -77,7 +77,7 @@

 #undef  LINK_SPEC
 #define LINK_SPEC \
-  "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+  "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
    %{shared:-shared} \
    %{!shared: \
       %{static:-static} \
--- gcc/config/sparc/linux64.h.orig     2011-02-17 23:57:21.000000000 +1000
+++ gcc/config/sparc/linux64.h  2011-03-11 10:01:47.770000457 +1000
@@ -113,7 +113,7 @@
   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },       \
   { "link_arch",        LINK_ARCH_SPEC },

-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib
%{shared:-shared} \
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
@@ -121,7 +121,7 @@
       %{static:-static}} \
 "

-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64
%{shared:-shared} \
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
@@ -193,7 +193,7 @@
 #else /* !SPARC_BI_ARCH */

 #undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64
%{shared:-shared} \
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
--- gcc/config/sparc/linux.h.orig       2011-01-27 06:30:12.000000000 +1000
+++ gcc/config/sparc/linux.h    2011-03-11 10:01:47.770000457 +1000
@@ -74,7 +74,7 @@
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"

 #undef  LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib
%{shared:-shared} \
   %{!mno-relax:%{!r:-relax}} \
   %{!shared: \
     %{!static: \

################## gcc_pure64.patch ################

diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h
gcc-4.2.0/gcc/config/i386/linux64.h
--- gcc-4.2.0.orig/gcc/config/i386/linux64.h    2007-05-16 19:21:19.000000000 -0400
+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
@@ -49,8 +49,8 @@
    When the -shared link option is used a final link is not being
    done.  */

-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"

 #undef LINK_SPEC
 #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64
gcc-4.2.0/gcc/config/i386/t-linux64
--- gcc-4.2.0.orig/gcc/config/i386/t-linux64    2007-05-16 19:21:19.000000000 -0400
+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
@@ -6,7 +6,7 @@

 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib ../lib32

 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib


-- 
David C. Rankin, J.D.,P.E.