Patchwork Prefixes for libgcc symbols (C6X 9.5/11)

login
register
mail settings
Submitter Bernd Schmidt
Date May 26, 2011, 12:04 p.m.
Message ID <4DDE41DB.2060608@codesourcery.com>
Download mbox | patch
Permalink /patch/97569/
State New
Headers show

Comments

Bernd Schmidt - May 26, 2011, 12:04 p.m.
It occurred to me to do another test, building libgcc with and without
the patch and comparing the binaries. That showed a problem - if there
are multiple version files, their order matters. In all cases where
$$(libgcc_objdir)/libgcc-std.ver occurs, it occurs first, so I've
changed the order in srcdirify to match. I also need to properly svn rm
the old libgcc-std.ver file.

Will check this in today after a bootstrap unless there are objections.


Bernd
Jack Howarth - May 27, 2011, 2:32 a.m.
On Thu, May 26, 2011 at 12:04:43PM +0000, Bernd Schmidt wrote:
> It occurred to me to do another test, building libgcc with and without
> the patch and comparing the binaries. That showed a problem - if there
> are multiple version files, their order matters. In all cases where
> $$(libgcc_objdir)/libgcc-std.ver occurs, it occurs first, so I've
> changed the order in srcdirify to match. I also need to properly svn rm
> the old libgcc-std.ver file.
> 
> Will check this in today after a bootstrap unless there are objections.
> 

This patch breaks the bootstrap on all darwin targets...

http://gcc.gnu.org/regtest/HEAD/native-lastbuild.txt.gzip

make[3]: *** No rule to make target `/Users/regress/tbox/svn-gcc/libgcc/../gcc/libgcc-std.ver', needed by `libgcc.map'.  Stop.
make[3]: *** Waiting for unfinished jobs....

> 
> Bernd

> Index: gcc/ChangeLog
> ===================================================================
> --- gcc/ChangeLog	(revision 174276)
> +++ gcc/ChangeLog	(working copy)
> @@ -1,3 +1,9 @@
> +2011-05-26  Bernd Schmidt  <bernds@codesourcery.com>
> +
> +	* Makefile.in (srcdirify): Change order so that libgcc_objdir is
> +	substituted first.
> +	* libgcc-std.ver: Delete file.
> +
>  2011-05-26  Jakub Jelinek  <jakub@redhat.com>
>  
>  	PR c++/49165
> Index: gcc/Makefile.in
> ===================================================================
> --- gcc/Makefile.in	(revision 174276)
> +++ gcc/Makefile.in	(working copy)
> @@ -1894,13 +1894,15 @@ cc1$(exeext): $(C_OBJS) cc1-checksum.o $
>  LIB2ADD = $(LIB2FUNCS_EXTRA)
>  LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
>  
> -# All source files for libgcc are either in the source directory (in
> -# which case they will start with $(srcdir)), or generated into the build
> -# directory (in which case they will be relative paths).
> -srcdirify = $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
> -            $(patsubst $$(libgcc_objdir)/%,%, \
> +# All source files for libgcc are either generated in the libgcc build
> +# directory which will be substituted for $$(libgcc_objdir), in the
> +# source directory (in which case they will start with $(srcdir)), or
> +# generated into the build directory (in which case they will be
> +# relative paths).
> +srcdirify = $(patsubst $$(libgcc_objdir)/%,%, \
>  		$(filter $$(libgcc_objdir)%,$(1))) \
> -            $(patsubst %,$$(gcc_objdir)/%, \
> +	    $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
> +	    $(patsubst %,$$(gcc_objdir)/%, \
>  		$(filter-out $(srcdir)% $$(libgcc_objdir)%,$(1)))
>  
>  # The distinction between these two variables is no longer relevant,

Patch

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog	(revision 174276)
+++ gcc/ChangeLog	(working copy)
@@ -1,3 +1,9 @@ 
+2011-05-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+	* Makefile.in (srcdirify): Change order so that libgcc_objdir is
+	substituted first.
+	* libgcc-std.ver: Delete file.
+
 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/49165
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in	(revision 174276)
+++ gcc/Makefile.in	(working copy)
@@ -1894,13 +1894,15 @@  cc1$(exeext): $(C_OBJS) cc1-checksum.o $
 LIB2ADD = $(LIB2FUNCS_EXTRA)
 LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
 
-# All source files for libgcc are either in the source directory (in
-# which case they will start with $(srcdir)), or generated into the build
-# directory (in which case they will be relative paths).
-srcdirify = $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
-            $(patsubst $$(libgcc_objdir)/%,%, \
+# All source files for libgcc are either generated in the libgcc build
+# directory which will be substituted for $$(libgcc_objdir), in the
+# source directory (in which case they will start with $(srcdir)), or
+# generated into the build directory (in which case they will be
+# relative paths).
+srcdirify = $(patsubst $$(libgcc_objdir)/%,%, \
 		$(filter $$(libgcc_objdir)%,$(1))) \
-            $(patsubst %,$$(gcc_objdir)/%, \
+	    $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
+	    $(patsubst %,$$(gcc_objdir)/%, \
 		$(filter-out $(srcdir)% $$(libgcc_objdir)%,$(1)))
 
 # The distinction between these two variables is no longer relevant,