Add POWER9 multilib (downstream only)

This commit is contained in:
Florian Weimer 2018-07-11 15:54:24 +02:00
parent e75713e5c1
commit 3bef91d75e
1 changed files with 45 additions and 15 deletions

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.27.9000-568-g93304f5f7a %define glibcsrcdir glibc-2.27.9000-568-g93304f5f7a
%define glibcversion 2.27.9000 %define glibcversion 2.27.9000
%define glibcrelease 38%{?dist} %define glibcrelease 39%{?dist}
# Pre-release tarballs are pulled in from git using a command that is # Pre-release tarballs are pulled in from git using a command that is
# effectively: # effectively:
# #
@ -61,6 +61,13 @@
# Only some architectures have static PIE support. # Only some architectures have static PIE support.
%define pie_arches %{ix86} x86_64 %define pie_arches %{ix86} x86_64
# Build the POWER9 runtime on POWER, but only for downstream.
%ifarch ppc64le
%define buildpower9 0%{?rhel} > 0
%else
%define buildpower9 0
%endif
############################################################################## ##############################################################################
# Any architecture/kernel combination that supports running 32-bit and 64-bit # Any architecture/kernel combination that supports running 32-bit and 64-bit
# code in userspace is considered a biarch arch. # code in userspace is considered a biarch arch.
@ -722,6 +729,10 @@ rpm_inherit_flags ()
# are target-dependent, so we use only those which are specified in # are target-dependent, so we use only those which are specified in
# redhat-rpm-config. We keep the -m32/-m32/-m64 flags to support # redhat-rpm-config. We keep the -m32/-m32/-m64 flags to support
# multilib builds. # multilib builds.
#
# Note: For building alternative run-times, care is required to avoid
# overriding the architecture flags which go into CC/CXX. The flags
# below are passed in CFLAGS.
rpm_inherit_flags \ rpm_inherit_flags \
"-Wp,-D_GLIBCXX_ASSERTIONS" \ "-Wp,-D_GLIBCXX_ASSERTIONS" \
@ -825,11 +836,18 @@ build()
popd popd
} }
############################################################################## # Default set of potions.
# Build glibc for the default set of options.
##############################################################################
build build
%if %{buildpower9}
(
GCC="$GCC -mcpu=power9 -mtune=power9"
GXX="$GXX -mcpu=power9 -mtune=power9"
core_with_options="--with-cpu=power9"
build power9
)
%endif
############################################################################## ##############################################################################
# Install glibc... # Install glibc...
############################################################################## ##############################################################################
@ -919,6 +937,12 @@ install_different()
done done
} }
%if %{buildpower9}
pushd build-%{target}-power9
install_different "$RPM_BUILD_ROOT/%{_lib}" power9 ..
popd
%endif
############################################################################## ##############################################################################
# Remove the files we don't want to distribute # Remove the files we don't want to distribute
############################################################################## ##############################################################################
@ -1558,21 +1582,21 @@ run_tests () {
export TIMEOUTFACTOR=16 export TIMEOUTFACTOR=16
parent=$$ parent=$$
echo ====================TESTING========================= echo ====================TESTING=========================
##############################################################################
# - Test the default runtime. # Default libraries.
# - Power 620 / 970 ISA for 64-bit POWER BE.
# - POWER8 for 64-bit POWER LE.
# - ??? for 64-bit x86_64
# - ??? for 32-bit x86
# - ??? for 64-bit AArch64
# - ??? for 32-bit ARM
# - zEC12 for 64-bit s390x
# - ??? for 32-bit s390
##############################################################################
pushd build-%{target} pushd build-%{target}
run_tests run_tests
popd popd
%if %{buildpower9}
echo ====================TESTING -mcpu=power9=============
pushd build-%{target}-power9
run_tests
popd
%endif
echo ====================TESTING END===================== echo ====================TESTING END=====================
PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p' PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p'
echo ====================PLT RELOCS LD.SO================ echo ====================PLT RELOCS LD.SO================
@ -1670,6 +1694,9 @@ fi
%files -f rpm.filelist %files -f rpm.filelist
%dir %{_prefix}/%{_lib}/audit %dir %{_prefix}/%{_lib}/audit
%if %{buildpower9}
%dir /%{_lib}/power9
%endif
%ifarch s390x %ifarch s390x
/lib/ld64.so.1 /lib/ld64.so.1
%endif %endif
@ -1757,6 +1784,9 @@ fi
%endif %endif
%changelog %changelog
* Wed Jul 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-39
- Add POWER9 multilib (downstream only)
* Wed Jul 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-38 * Wed Jul 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-38
- Auto-sync with upstream branch master, - Auto-sync with upstream branch master,
commit 93304f5f7a32f73b551266c5a181db51d97a71e4: commit 93304f5f7a32f73b551266c5a181db51d97a71e4: