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
|
||||
|
||||
|
@ -14,3 +14,5 @@ addFilter(".*permissions-missing-postin missing %set_permissions /usr/.*pt_chown
|
||||
addFilter("glibc\..*: permissions-missing-requires")
|
||||
# We will not rename glibc to follow the shlib policy
|
||||
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: libselinux-devel
|
||||
BuildRequires: libstdc++-devel
|
||||
|
||||
%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_html 1
|
||||
%endif
|
||||
# Enable testsuite runs for local builds
|
||||
%if %{with glibc_run_testsuite}
|
||||
%define run_testsuite 1
|
||||
@ -233,6 +244,8 @@ Patch100: glibc-sw13618-2.patch
|
||||
Patch101: glibc-2.16-fix-check-abi.patch
|
||||
# PATCH-FIX-UPSTREAM Fix check-localelfplt - aj@suse.de
|
||||
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
|
||||
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
|
||||
complete and is partially out of date.
|
||||
|
||||
%if %{build_html}
|
||||
%package html
|
||||
Summary: HTML Documentation for the GNU C Library
|
||||
License: GFDL-1.1
|
||||
@ -263,6 +277,7 @@ BuildArch: noarch
|
||||
This package contains the HTML documentation for the GNU C library. Due
|
||||
to a lack of resources, this documentation is not complete and is
|
||||
partially out of date.
|
||||
%endif
|
||||
|
||||
%package i18ndata
|
||||
Summary: Database Sources for 'locale'
|
||||
@ -308,6 +323,7 @@ Requires(postun): %insserv_prereq
|
||||
Nscd caches name service lookups and can dramatically improve
|
||||
performance with NIS, NIS+, and LDAP.
|
||||
|
||||
%if %{build_profile}
|
||||
%package profile
|
||||
Summary: Libc Profiling and Debugging Versions
|
||||
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
|
||||
This package contains special versions of the GNU C library which are
|
||||
necessary for profiling and debugging.
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
Summary: Include Files and Libraries Mandatory for Development
|
||||
@ -482,6 +499,9 @@ rm nscd/s-stamp
|
||||
%patch100 -p1
|
||||
%patch101 -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!
|
||||
@ -615,7 +635,10 @@ configure_and_build_glibc() {
|
||||
CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
|
||||
--prefix=%{_prefix} \
|
||||
--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}
|
||||
--enable-stackguard-randomization \
|
||||
@ -679,7 +702,9 @@ configure_and_build_glibc() {
|
||||
#
|
||||
# Build html documentation
|
||||
#
|
||||
%if %{build_html}
|
||||
make -C cc-base html
|
||||
%endif
|
||||
|
||||
#
|
||||
# Build glibc_post_upgrade binary
|
||||
@ -732,9 +757,13 @@ export SUSE_ASNEEDED=0
|
||||
%endif
|
||||
# File was not created as empty file by patch 101
|
||||
touch abilist/libnss_dns.abilist abilist/libnss_db.abilist
|
||||
# XXX This has to pass
|
||||
#make -C cc-base check-abi || echo check-abi failed
|
||||
# This has to pass. Exceptions:
|
||||
# ARM: There's no check-abi data for arm
|
||||
%ifnarch %arm
|
||||
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/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
|
||||
|
||||
%if %{build_html}
|
||||
mkdir -p %{buildroot}%{_datadir}/doc/glibc
|
||||
cp -p manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
|
||||
%endif
|
||||
|
||||
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 %{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}/man5/*
|
||||
/%{_lib}/ld-%{version}.so
|
||||
%ifarch ppc s390 mips hppa
|
||||
/%{_lib}/ld.so.1
|
||||
%else
|
||||
%ifarch ia64
|
||||
/%{_lib}/ld-linux-ia64.so.2
|
||||
%else
|
||||
%ifarch s390x ppc64
|
||||
/%{_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
|
||||
|
||||
# Each architecture has a different name for the dynamic linker:
|
||||
%ifarch %arm
|
||||
%ifarch armv7l
|
||||
/%{_lib}/ld-linux-armhf.so.3
|
||||
# Keep compatibility link
|
||||
/%{_lib}/ld-linux.so.3
|
||||
%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.so.1
|
||||
/%{_lib}/libSegFault.so
|
||||
@ -1183,9 +1226,11 @@ exit 0
|
||||
%doc %{_infodir}/libc.info-?.gz
|
||||
%doc %{_infodir}/libc.info-??.gz
|
||||
|
||||
%if %{build_html}
|
||||
%files html
|
||||
%defattr(-,root,root)
|
||||
%doc %{_prefix}/share/doc/glibc
|
||||
%endif
|
||||
|
||||
%files i18ndata
|
||||
%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/hosts
|
||||
|
||||
%if %{build_profile}
|
||||
%files profile
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libc_p.a
|
||||
@ -1222,6 +1268,7 @@ exit 0
|
||||
%{_libdir}/librpcsvc_p.a
|
||||
%{_libdir}/libutil_p.a
|
||||
%{_libdir}/libdl_p.a
|
||||
%endif
|
||||
|
||||
%files utils
|
||||
%defattr(-,root,root)
|
||||
|
Loading…
Reference in New Issue
Block a user