- Fix *.so scripts for multilib linking (BZ 463101, suggested by Jakub
Jelinek).
This commit is contained in:
parent
4140cef0c6
commit
d83e8ebe37
38
binutils-2.18.50.0.9-output-format.sed
Normal file
38
binutils-2.18.50.0.9-output-format.sed
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# Generate OUTPUT_FORMAT line for .so files from the system linker output.
|
||||||
|
# Imported from glibc/Makerules.
|
||||||
|
|
||||||
|
/ld.*[ ]-E[BL]/b f
|
||||||
|
/collect.*[ ]-E[BL]/b f
|
||||||
|
/OUTPUT_FORMAT[^)]*$/{N
|
||||||
|
s/\n[ ]*/ /
|
||||||
|
}
|
||||||
|
t o
|
||||||
|
: o
|
||||||
|
s/^.*OUTPUT_FORMAT(\([^,]*\), \1, \1).*$/OUTPUT_FORMAT(\1)/
|
||||||
|
t q
|
||||||
|
s/^.*OUTPUT_FORMAT(\([^,]*\), \([^,]*\), \([^,]*\)).*$/\1,\2,\3/
|
||||||
|
t s
|
||||||
|
s/^.*OUTPUT_FORMAT(\([^,)]*\).*$)/OUTPUT_FORMAT(\1)/
|
||||||
|
t q
|
||||||
|
d
|
||||||
|
: s
|
||||||
|
s/"//g
|
||||||
|
G
|
||||||
|
s/\n//
|
||||||
|
s/^\([^,]*\),\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\2)/p
|
||||||
|
s/^\([^,]*\),\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\3)/p
|
||||||
|
s/^\([^,]*\),\([^,]*\),\([^,]*\)/OUTPUT_FORMAT(\1)/p
|
||||||
|
/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p
|
||||||
|
q
|
||||||
|
: q
|
||||||
|
s/"//g
|
||||||
|
p
|
||||||
|
q
|
||||||
|
: f
|
||||||
|
s/^.*[ ]-E\([BL]\)[ ].*$/,\1/
|
||||||
|
t h
|
||||||
|
s/^.*[ ]-E\([BL]\)$/,\1/
|
||||||
|
t h
|
||||||
|
d
|
||||||
|
: h
|
||||||
|
h
|
@ -17,11 +17,12 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.18.50.0.9
|
Version: 2.18.50.0.9
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://sources.redhat.com/binutils
|
URL: http://sources.redhat.com/binutils
|
||||||
Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
|
Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
|
||||||
|
Source2: binutils-2.18.50.0.9-output-format.sed
|
||||||
Patch1: binutils-2.18.50.0.6-ltconfig-multilib.patch
|
Patch1: binutils-2.18.50.0.6-ltconfig-multilib.patch
|
||||||
Patch2: binutils-2.18.50.0.6-ppc64-pie.patch
|
Patch2: binutils-2.18.50.0.6-ppc64-pie.patch
|
||||||
Patch3: binutils-2.18.50.0.8-place-orphan.patch
|
Patch3: binutils-2.18.50.0.8-place-orphan.patch
|
||||||
@ -235,15 +236,29 @@ sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include <bits/wordsize.h>~;}' \
|
|||||||
%endif
|
%endif
|
||||||
touch -r bfd/bfd-in2.h %{buildroot}%{_prefix}/include/bfd.h
|
touch -r bfd/bfd-in2.h %{buildroot}%{_prefix}/include/bfd.h
|
||||||
|
|
||||||
cat >%{buildroot}%{_prefix}/%{_lib}/libbfd.so <<EOH
|
# Generate .so linker scripts for dependencies; imported from glibc/Makerules:
|
||||||
/* GNU ld script
|
|
||||||
The libz dependency is unexpected by legacy build scripts. */
|
|
||||||
|
|
||||||
|
# This fragment of linker script gives the OUTPUT_FORMAT statement
|
||||||
|
# for the configuration we are building.
|
||||||
|
OUTPUT_FORMAT="\
|
||||||
|
/* Ensure this .so library will not be used by a link for a different format
|
||||||
|
on a multi-architecture system. */
|
||||||
|
$(gcc $CFLAGS $LDFLAGS -shared -x c /dev/null -o /dev/null -Wl,--verbose -v 2>&1 | sed -n -f "%{SOURCE2}")"
|
||||||
|
|
||||||
|
tee %{buildroot}%{_prefix}/%{_lib}/libbfd.so <<EOH
|
||||||
|
/* GNU ld script */
|
||||||
|
|
||||||
|
$OUTPUT_FORMAT
|
||||||
|
|
||||||
|
/* The libz dependency is unexpected by legacy build scripts. */
|
||||||
INPUT ( %{_libdir}/libbfd.a -liberty -lz )
|
INPUT ( %{_libdir}/libbfd.a -liberty -lz )
|
||||||
EOH
|
EOH
|
||||||
cat >%{buildroot}%{_prefix}/%{_lib}/libopcodes.so <<EOH
|
|
||||||
|
tee %{buildroot}%{_prefix}/%{_lib}/libopcodes.so <<EOH
|
||||||
/* GNU ld script */
|
/* GNU ld script */
|
||||||
|
|
||||||
|
$OUTPUT_FORMAT
|
||||||
|
|
||||||
INPUT ( %{_libdir}/libopcodes.a -lbfd )
|
INPUT ( %{_libdir}/libopcodes.a -lbfd )
|
||||||
EOH
|
EOH
|
||||||
|
|
||||||
@ -332,6 +347,9 @@ fi
|
|||||||
%endif # %{isnative}
|
%endif # %{isnative}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 22 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.9-4
|
||||||
|
- Fix *.so scripts for multilib linking (BZ 463101, suggested by Jakub Jelinek).
|
||||||
|
|
||||||
* Sun Sep 21 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.9-3
|
* Sun Sep 21 2008 Jan Kratochvil <jan.kratochvil@redhat.com> 2.18.50.0.9-3
|
||||||
- Provide libbfd.so and libopcodes.so for automatic dependencies (BZ 463101).
|
- Provide libbfd.so and libopcodes.so for automatic dependencies (BZ 463101).
|
||||||
- Fix .eh_frame_hdr build on C++ files with discarded common groups (BZ 458950).
|
- Fix .eh_frame_hdr build on C++ files with discarded common groups (BZ 458950).
|
||||||
|
Loading…
Reference in New Issue
Block a user