forked from pool/glibc
Accepting request 113956 from home:a_jaeger:my-factory-packages
Fix for ARM dynamic linker OBS-URL: https://build.opensuse.org/request/show/113956 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=165
This commit is contained in:
parent
84ce9e0d13
commit
b10e9555ad
10
armhf-ld-so.patch
Normal file
10
armhf-ld-so.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
diff --git a/sysdeps/arm/shlib-versions b/sysdeps/arm/shlib-versions
|
||||||
|
index 491dd0a..5464959 100644
|
||||||
|
--- a/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
||||||
|
+++ b/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4
|
||||||
|
|
||||||
|
-arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
|
||||||
|
+arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3
|
||||||
|
arm.*-.*-linux.* ld=ld-linux.so.2
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 16 14:31:38 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- The dynamic linker for armv7 hardware float is called
|
||||||
|
/lib/ld-linux-armhf.so.3. Provide compatibility symlink.
|
||||||
|
- Do not build locales and profile for i686 since we only ship
|
||||||
|
the base and glibc-devel packages.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 13 09:35:49 UTC 2012 - aj@suse.de
|
Fri Apr 13 09:35:49 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
@ -14,3 +14,5 @@ addFilter(".*permissions-missing-postin missing %set_permissions /usr/.*pt_chown
|
|||||||
addFilter("glibc\..*: permissions-missing-requires")
|
addFilter("glibc\..*: permissions-missing-requires")
|
||||||
# We will not rename glibc to follow the shlib policy
|
# We will not rename glibc to follow the shlib policy
|
||||||
addFilter("shlib-policy-missing-suffix")
|
addFilter("shlib-policy-missing-suffix")
|
||||||
|
# The dynamic linker and libnsl call exit - this is fine
|
||||||
|
addFilter(".*shared-lib-calls-exit.*")
|
99
glibc.spec
99
glibc.spec
@ -27,8 +27,19 @@ Group: System/Libraries
|
|||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
BuildRequires: libstdc++-devel
|
BuildRequires: libstdc++-devel
|
||||||
|
|
||||||
%define _filter_GLIBC_PRIVATE 1
|
%define _filter_GLIBC_PRIVATE 1
|
||||||
|
%if %_target_cpu == "i686"
|
||||||
|
# For i686 we ship only glibc and glibc-devel, so
|
||||||
|
# let's not build everything
|
||||||
|
%define build_profile 0
|
||||||
|
%define build_locales 0
|
||||||
|
%define build_html 0
|
||||||
|
%else
|
||||||
|
%define build_profile 1
|
||||||
%define build_locales 1
|
%define build_locales 1
|
||||||
|
%define build_html 1
|
||||||
|
%endif
|
||||||
# Enable testsuite runs for local builds
|
# Enable testsuite runs for local builds
|
||||||
%if %{with glibc_run_testsuite}
|
%if %{with glibc_run_testsuite}
|
||||||
%define run_testsuite 1
|
%define run_testsuite 1
|
||||||
@ -233,6 +244,8 @@ Patch100: glibc-sw13618-2.patch
|
|||||||
Patch101: glibc-2.16-fix-check-abi.patch
|
Patch101: glibc-2.16-fix-check-abi.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix check-localelfplt - aj@suse.de
|
# PATCH-FIX-UPSTREAM Fix check-localelfplt - aj@suse.de
|
||||||
Patch102: glibc-2.16-fix-check-localplt.patch
|
Patch102: glibc-2.16-fix-check-localplt.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Use new common path for ARMv7 hardware float linker - aj@suse.de
|
||||||
|
Patch103: armhf-ld-so.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The GNU C Library provides the most important standard libraries used
|
The GNU C Library provides the most important standard libraries used
|
||||||
@ -253,6 +266,7 @@ This package contains the documentation for the GNU C library stored as
|
|||||||
info files. Due to a lack of resources, this documentation is not
|
info files. Due to a lack of resources, this documentation is not
|
||||||
complete and is partially out of date.
|
complete and is partially out of date.
|
||||||
|
|
||||||
|
%if %{build_html}
|
||||||
%package html
|
%package html
|
||||||
Summary: HTML Documentation for the GNU C Library
|
Summary: HTML Documentation for the GNU C Library
|
||||||
License: GFDL-1.1
|
License: GFDL-1.1
|
||||||
@ -263,6 +277,7 @@ BuildArch: noarch
|
|||||||
This package contains the HTML documentation for the GNU C library. Due
|
This package contains the HTML documentation for the GNU C library. Due
|
||||||
to a lack of resources, this documentation is not complete and is
|
to a lack of resources, this documentation is not complete and is
|
||||||
partially out of date.
|
partially out of date.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package i18ndata
|
%package i18ndata
|
||||||
Summary: Database Sources for 'locale'
|
Summary: Database Sources for 'locale'
|
||||||
@ -308,6 +323,7 @@ Requires(postun): %insserv_prereq
|
|||||||
Nscd caches name service lookups and can dramatically improve
|
Nscd caches name service lookups and can dramatically improve
|
||||||
performance with NIS, NIS+, and LDAP.
|
performance with NIS, NIS+, and LDAP.
|
||||||
|
|
||||||
|
%if %{build_profile}
|
||||||
%package profile
|
%package profile
|
||||||
Summary: Libc Profiling and Debugging Versions
|
Summary: Libc Profiling and Debugging Versions
|
||||||
License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+
|
License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+
|
||||||
@ -324,6 +340,7 @@ Obsoletes: glibc-profile-32bit
|
|||||||
%description profile
|
%description profile
|
||||||
This package contains special versions of the GNU C library which are
|
This package contains special versions of the GNU C library which are
|
||||||
necessary for profiling and debugging.
|
necessary for profiling and debugging.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Include Files and Libraries Mandatory for Development
|
Summary: Include Files and Libraries Mandatory for Development
|
||||||
@ -482,6 +499,9 @@ rm nscd/s-stamp
|
|||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
|
%ifarch armv7l
|
||||||
|
%patch103 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
|
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
|
||||||
@ -615,7 +635,10 @@ configure_and_build_glibc() {
|
|||||||
CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
|
CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
|
||||||
--prefix=%{_prefix} \
|
--prefix=%{_prefix} \
|
||||||
--libexecdir=%{_libdir} --infodir=%{_infodir} \
|
--libexecdir=%{_libdir} --infodir=%{_infodir} \
|
||||||
--enable-add-ons=nptl$addons --enable-profile \
|
--enable-add-ons=nptl$addons \
|
||||||
|
%if %{build_profile}
|
||||||
|
--enable-profile \
|
||||||
|
%endif
|
||||||
"$@" \
|
"$@" \
|
||||||
%if %{enable_stackguard_randomization}
|
%if %{enable_stackguard_randomization}
|
||||||
--enable-stackguard-randomization \
|
--enable-stackguard-randomization \
|
||||||
@ -679,7 +702,9 @@ configure_and_build_glibc() {
|
|||||||
#
|
#
|
||||||
# Build html documentation
|
# Build html documentation
|
||||||
#
|
#
|
||||||
|
%if %{build_html}
|
||||||
make -C cc-base html
|
make -C cc-base html
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build glibc_post_upgrade binary
|
# Build glibc_post_upgrade binary
|
||||||
@ -732,9 +757,13 @@ export SUSE_ASNEEDED=0
|
|||||||
%endif
|
%endif
|
||||||
# File was not created as empty file by patch 101
|
# File was not created as empty file by patch 101
|
||||||
touch abilist/libnss_dns.abilist abilist/libnss_db.abilist
|
touch abilist/libnss_dns.abilist abilist/libnss_db.abilist
|
||||||
# XXX This has to pass
|
# This has to pass. Exceptions:
|
||||||
#make -C cc-base check-abi || echo check-abi failed
|
# ARM: There's no check-abi data for arm
|
||||||
|
%ifnarch %arm
|
||||||
make -C cc-base check-abi
|
make -C cc-base check-abi
|
||||||
|
#%else
|
||||||
|
#make -C cc-base check-abi || echo check-abi failed
|
||||||
|
%endif
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
###
|
###
|
||||||
@ -864,8 +893,10 @@ mkdir -p %{buildroot}%{_includedir}/resolv
|
|||||||
install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/
|
install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/
|
||||||
install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
|
install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
|
||||||
|
|
||||||
|
%if %{build_html}
|
||||||
mkdir -p %{buildroot}%{_datadir}/doc/glibc
|
mkdir -p %{buildroot}%{_datadir}/doc/glibc
|
||||||
cp -p manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
|
cp -p manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
|
||||||
|
%endif
|
||||||
|
|
||||||
cd manpages; make install_root=%{buildroot} install; cd ..
|
cd manpages; make install_root=%{buildroot} install; cd ..
|
||||||
|
|
||||||
@ -931,6 +962,11 @@ mkdir -p %{buildroot}/lib/systemd/system
|
|||||||
install -m 644 %{SOURCE21} %{buildroot}/lib/systemd/system
|
install -m 644 %{SOURCE21} %{buildroot}/lib/systemd/system
|
||||||
install -m 644 %{SOURCE22} %{buildroot}/lib/systemd/system
|
install -m 644 %{SOURCE22} %{buildroot}/lib/systemd/system
|
||||||
|
|
||||||
|
%ifarch armv7l
|
||||||
|
# Provide compatibility link
|
||||||
|
ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
|
||||||
|
%endif
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
###
|
###
|
||||||
### ...
|
### ...
|
||||||
@ -1003,30 +1039,37 @@ exit 0
|
|||||||
%doc %{_mandir}/man1/localedef.1.gz
|
%doc %{_mandir}/man1/localedef.1.gz
|
||||||
%doc %{_mandir}/man5/*
|
%doc %{_mandir}/man5/*
|
||||||
/%{_lib}/ld-%{version}.so
|
/%{_lib}/ld-%{version}.so
|
||||||
%ifarch ppc s390 mips hppa
|
|
||||||
/%{_lib}/ld.so.1
|
# Each architecture has a different name for the dynamic linker:
|
||||||
%else
|
%ifarch %arm
|
||||||
%ifarch ia64
|
%ifarch armv7l
|
||||||
/%{_lib}/ld-linux-ia64.so.2
|
/%{_lib}/ld-linux-armhf.so.3
|
||||||
%else
|
# Keep compatibility link
|
||||||
%ifarch s390x ppc64
|
/%{_lib}/ld-linux.so.3
|
||||||
/%{_lib}/ld64.so.1
|
|
||||||
%ifarch s390x
|
|
||||||
/lib/ld64.so.1
|
|
||||||
%endif
|
|
||||||
%else
|
|
||||||
%ifarch x86_64
|
|
||||||
/%{_lib}/ld-linux-x86-64.so.2
|
|
||||||
%else
|
|
||||||
%ifarch %arm
|
|
||||||
/%{_lib}/ld-linux.so.3
|
|
||||||
%else
|
|
||||||
/%{_lib}/ld-linux.so.2
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
|
%else
|
||||||
|
/%{_lib}/ld-linux.so.2
|
||||||
|
%endif
|
||||||
|
%ifarch ia64
|
||||||
|
/%{_lib}/ld-linux-ia64.so.2
|
||||||
|
%endif
|
||||||
|
%ifarch ppc s390 mips hppa
|
||||||
|
/%{_lib}/ld.so.1
|
||||||
|
%endif
|
||||||
|
%ifarch ppc64
|
||||||
|
/%{_lib}/ld64.so.1
|
||||||
|
%endif
|
||||||
|
%ifarch s390x
|
||||||
|
/lib/ld64.so.1
|
||||||
|
/%{_lib}/ld64.so.1
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
/%{_lib}/ld-linux-x86-64.so.2
|
||||||
|
%endif
|
||||||
|
%ifarch %ix86
|
||||||
|
/%{_lib}/ld-linux.so.2
|
||||||
|
%endif
|
||||||
|
|
||||||
/%{_lib}/libBrokenLocale-%{version}.so
|
/%{_lib}/libBrokenLocale-%{version}.so
|
||||||
/%{_lib}/libBrokenLocale.so.1
|
/%{_lib}/libBrokenLocale.so.1
|
||||||
/%{_lib}/libSegFault.so
|
/%{_lib}/libSegFault.so
|
||||||
@ -1183,9 +1226,11 @@ exit 0
|
|||||||
%doc %{_infodir}/libc.info-?.gz
|
%doc %{_infodir}/libc.info-?.gz
|
||||||
%doc %{_infodir}/libc.info-??.gz
|
%doc %{_infodir}/libc.info-??.gz
|
||||||
|
|
||||||
|
%if %{build_html}
|
||||||
%files html
|
%files html
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc %{_prefix}/share/doc/glibc
|
%doc %{_prefix}/share/doc/glibc
|
||||||
|
%endif
|
||||||
|
|
||||||
%files i18ndata
|
%files i18ndata
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -1208,6 +1253,7 @@ exit 0
|
|||||||
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
|
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
|
||||||
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
|
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
|
||||||
|
|
||||||
|
%if %{build_profile}
|
||||||
%files profile
|
%files profile
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/libc_p.a
|
%{_libdir}/libc_p.a
|
||||||
@ -1222,6 +1268,7 @@ exit 0
|
|||||||
%{_libdir}/librpcsvc_p.a
|
%{_libdir}/librpcsvc_p.a
|
||||||
%{_libdir}/libutil_p.a
|
%{_libdir}/libutil_p.a
|
||||||
%{_libdir}/libdl_p.a
|
%{_libdir}/libdl_p.a
|
||||||
|
%endif
|
||||||
|
|
||||||
%files utils
|
%files utils
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
Loading…
Reference in New Issue
Block a user