| %define glibcsrcdir glibc-2.27.9000-423-gc1dc1e1b34 |
| %define glibcversion 2.27.9000 |
| %define glibcrelease 21%{?dist} |
| |
| |
| |
| |
| |
| |
| |
| |
| %{lua: if string.match(rpm.expand("%glibcsrcdir"), "^glibc%-[0-9.]+$") then |
| rpm.define("glibc_release_url https://ftp.gnu.org/gnu/glibc/") end} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %bcond_without testsuite |
| |
| %bcond_without benchtests |
| |
| %bcond_with bootstrap |
| |
| %bcond_without werror |
| |
| %bcond_without docs |
| |
| %bcond_without valgrind |
| |
| |
| |
| %if %{with valgrind} |
| %ifarch s390 ppc64 ppc64p7 %{mips} riscv64 |
| |
| |
| %undefine with_valgrind |
| %endif |
| %endif |
| %if %{with bootstrap} |
| |
| %undefine with_benchtests |
| %undefine with_werror |
| %undefine with_docs |
| %undefine with_valgrind |
| %endif |
| |
| |
| |
| |
| |
| %define auxarches athlon alphaev6 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %ifarch ppc64 |
| |
| %define buildpower6 0 |
| %define buildpower7 1 |
| %define buildpower8 1 |
| %else |
| |
| %define buildpower6 0 |
| %define buildpower7 0 |
| %define buildpower8 0 |
| %endif |
| |
| |
| %define pie_arches %{ix86} x86_64 |
| |
| |
| |
| |
| %define biarcharches %{ix86} x86_64 %{power64} s390 s390x |
| |
| |
| |
| |
| |
| %define debuginfocommonarches %{biarcharches} alpha alphaev6 |
| |
| |
| |
| Summary: The GNU libc libraries |
| Name: glibc |
| Version: %{glibcversion} |
| Release: %{glibcrelease} |
| |
| |
| |
| |
| |
| License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ |
| URL: http://www.gnu.org/software/glibc/ |
| Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz |
| Source1: build-locale-archive.c |
| Source4: nscd.conf |
| Source7: nsswitch.conf |
| Source8: power6emul.c |
| Source9: bench.mk |
| Source10: glibc-bench-compare |
| |
| |
| |
| Source11: SUPPORTED |
| |
| |
| Source12: ChangeLog.old |
| |
| |
| |
| |
| |
| |
| Patch0001: glibc-post_upgrade.patch |
| Patch0002: glibc-fedora-nscd.patch |
| Patch0003: glibc-rh697421.patch |
| Patch0004: glibc-fedora-linux-tcsetattr.patch |
| Patch0005: glibc-rh741105.patch |
| Patch0006: glibc-fedora-localedef.patch |
| Patch0007: glibc-fedora-nis-rh188246.patch |
| Patch0008: glibc-fedora-manual-dircategory.patch |
| Patch0009: glibc-rh827510.patch |
| Patch0010: glibc-fedora-locarchive.patch |
| Patch0011: glibc-fedora-streams-rh436349.patch |
| Patch0012: glibc-rh819430.patch |
| Patch0013: glibc-fedora-localedata-rh61908.patch |
| Patch0014: glibc-fedora-__libc_multiple_libcs.patch |
| Patch0015: glibc-rh1070416.patch |
| Patch0016: glibc-nscd-sysconfig.patch |
| Patch0017: glibc-cs-path.patch |
| Patch0018: glibc-c-utf8-locale.patch |
| Patch0019: glibc-rh1315108.patch |
| Patch0022: glibc-deprecate_libcrypt.patch |
| Patch23: glibc-python3.patch |
| |
| |
| |
| |
| Obsoletes: glibc-profile < 2.4 |
| Provides: ldconfig |
| |
| |
| Provides: rtld(GNU_HASH) |
| Requires: glibc-common = %{version}-%{release} |
| |
| Requires(pre): basesystem |
| |
| |
| |
| %if %{without bootstrap} |
| BuildRequires: gd-devel libpng-devel zlib-devel |
| %endif |
| %if %{with docs} |
| |
| |
| |
| |
| BuildRequires: texinfo >= 5.0 |
| %endif |
| %if %{without bootstrap} |
| BuildRequires: libselinux-devel >= 1.33.4-3 |
| %endif |
| BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext |
| |
| |
| |
| |
| |
| |
| BuildRequires: procps-ng, util-linux, gawk |
| BuildRequires: systemtap-sdt-devel |
| |
| %if %{with valgrind} |
| |
| |
| BuildRequires: valgrind |
| %endif |
| |
| |
| BuildRequires: systemd |
| |
| |
| |
| |
| BuildRequires: python3 |
| |
| |
| BuildRequires: gcc >= 7.2.1-6 |
| %define enablekernel 3.2 |
| Conflicts: kernel < %{enablekernel} |
| %define target %{_target_cpu}-redhat-linux |
| %ifarch %{arm} |
| %define target %{_target_cpu}-redhat-linuxeabi |
| %endif |
| %ifarch %{power64} |
| %ifarch ppc64le |
| %define target ppc64le-redhat-linux |
| %else |
| %define target ppc64-redhat-linux |
| %endif |
| %endif |
| |
| |
| BuildRequires: make >= 4.0 |
| |
| |
| BuildRequires: bison >= 2.7 |
| |
| |
| BuildRequires: binutils >= 2.29 |
| |
| |
| Conflicts: prelink < 0.4.2 |
| |
| %if 0%{?_enable_debug_packages} |
| BuildRequires: elfutils >= 0.72 |
| BuildRequires: rpm >= 4.2-0.56 |
| %endif |
| |
| %if %{without bootstrap} |
| %if %{with testsuite} |
| |
| |
| BuildRequires: gcc-c++ |
| BuildRequires: libstdc++-static |
| |
| |
| |
| |
| BuildRequires: glibc-static |
| |
| |
| BuildRequires: libidn2 |
| %endif |
| %endif |
| |
| |
| |
| %global __filter_GLIBC_PRIVATE 1 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Requires: glibc-langpack = %{version}-%{release} |
| Suggests: glibc-all-langpacks = %{version}-%{release} |
| |
| %description |
| The glibc package contains standard libraries which are used by |
| multiple programs on the system. In order to save disk space and |
| memory, as well as to make upgrading easier, common system code is |
| kept in one place and shared between programs. This particular package |
| contains the most important sets of shared libraries: the standard C |
| library and the standard math library. Without these two libraries, a |
| Linux system will not function. |
| |
| |
| |
| |
| |
| %package -n libnsl |
| Summary: Legacy support library for NIS |
| Requires: %{name}%{_isa} = %{version}-%{release} |
| |
| %description -n libnsl |
| This package provides the legacy version of libnsl library, for |
| accessing NIS services. |
| |
| This library is provided for backwards compatibility only; |
| applications should use libnsl2 instead to gain IPv6 support. |
| |
| |
| |
| |
| %package devel |
| Summary: Object files for development using standard C libraries. |
| Requires(pre): /sbin/install-info |
| Requires(pre): %{name}-headers |
| Requires: %{name}-headers = %{version}-%{release} |
| Requires: %{name} = %{version}-%{release} |
| Requires: libgcc%{_isa} |
| Requires: libxcrypt-devel%{_isa} >= 4.0.0 |
| |
| %description devel |
| The glibc-devel package contains the object files necessary |
| for developing programs which use the standard C libraries (which are |
| used by nearly all programs). If you are developing programs which |
| will use the standard C libraries, your system needs to have these |
| standard object files available in order to create the |
| executables. |
| |
| Install glibc-devel if you are going to develop programs which will |
| use the standard C libraries. |
| |
| |
| |
| |
| %package static |
| Summary: C library static libraries for -static linking. |
| Requires: %{name}-devel = %{version}-%{release} |
| Requires: libxcrypt-static%{?_isa} >= 4.0.0 |
| |
| %description static |
| The glibc-static package contains the C library static libraries |
| for -static linking. You don't need these, unless you link statically, |
| which is highly discouraged. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %package headers |
| Summary: Header files for development using standard C libraries. |
| Provides: %{name}-headers(%{_target_cpu}) |
| Requires(pre): kernel-headers |
| Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release} |
| BuildRequires: kernel-headers >= 3.2 |
| |
| %description headers |
| The glibc-headers package contains the header files necessary |
| for developing programs which use the standard C libraries (which are |
| used by nearly all programs). If you are developing programs which |
| will use the standard C libraries, your system needs to have these |
| standard header files available in order to create the |
| executables. |
| |
| Install glibc-headers if you are going to develop programs which will |
| use the standard C libraries. |
| |
| |
| |
| |
| %package common |
| Summary: Common binaries and locale data for glibc |
| Requires: %{name} = %{version}-%{release} |
| Requires: tzdata >= 2003a |
| |
| %description common |
| The glibc-common package includes common binaries for the GNU libc |
| libraries, as well as national language (locale) support. |
| |
| |
| |
| |
| |
| |
| |
| %transfiletriggerin common -P 2000000 -- /lib /usr/lib /lib64 /usr/lib64 |
| /sbin/ldconfig |
| %end |
| |
| %transfiletriggerpostun common -P 2000000 -- /lib /usr/lib /lib64 /usr/lib64 |
| /sbin/ldconfig |
| %end |
| |
| |
| |
| %undefine __brp_ldconfig |
| |
| |
| |
| %package locale-source |
| Summary: The sources for the locales |
| Requires: %{name} = %{version}-%{release} |
| Requires: %{name}-common = %{version}-%{release} |
| |
| %description locale-source |
| The sources for all locales provided in the language packs. |
| If you are building custom locales you will most likely use |
| these sources as the basis for your new locale. |
| |
| %{lua: |
| -- Array of languages (ISO-639 codes). |
| local languages = {} |
| -- Dictionary from language codes (as in the languages array) to arrays |
| -- of regions. |
| local supplements = {} |
| do |
| -- Parse the SUPPORTED file. Eliminate duplicates. |
| local lang_region_seen = {} |
| for line in io.lines(rpm.expand("%{SOURCE11}")) do |
| -- Match lines which contain a language (eo) or language/region |
| -- (en_US) strings. |
| local lang_region = string.match(line, "^([a-z][^/@.]+)") |
| if lang_region ~= nil then |
| if lang_region_seen[lang_region] == nil then |
| lang_region_seen[lang_region] = true |
| |
| -- Split language/region pair. |
| local lang, region = string.match(lang_region, "^(.+)_(.+)") |
| if lang == nil then |
| -- Region is missing, use only the language. |
| lang = lang_region |
| end |
| local suppl = supplements[lang] |
| if suppl == nil then |
| suppl = {} |
| supplements[lang] = suppl |
| -- New language not seen before. |
| languages[ |
| end |
| if region ~= nil then |
| -- New region because of the check against |
| -- lang_region_seen above. |
| suppl[ |
| end |
| end |
| end |
| end |
| -- Sort for determinism. |
| table.sort(languages) |
| for _, supples in pairs(supplements) do |
| table.sort(supplements) |
| end |
| end |
| |
| -- Compute the Supplements: list for a language, based on the regions. |
| local function compute_supplements(lang) |
| result = "langpacks-" .. lang |
| regions = supplements[lang] |
| if regions ~= nil then |
| for i = 1, |
| result = result .. " or langpacks-" .. lang .. "_" .. regions[i] |
| end |
| end |
| return result |
| end |
| |
| -- Emit the definition of a language pack package. |
| local function lang_package(lang) |
| local suppl = compute_supplements(lang) |
| print(rpm.expand([[ |
| |
| %package langpack-]]..lang..[[ |
| |
| Summary: Locale data for ]]..lang..[[ |
| |
| Provides: glibc-langpack = %{version}-%{release} |
| Requires: %{name} = %{version}-%{release} |
| Requires: %{name}-common = %{version}-%{release} |
| Supplements: (glibc and (]]..suppl..[[)) |
| %description langpack-]]..lang..[[ |
| |
| The glibc-langpack-]]..lang..[[ package includes the basic information required |
| to support the ]]..lang..[[ language in your applications. |
| %ifnarch %{auxarches} |
| %files -f langpack-]]..lang..[[.filelist langpack-]]..lang..[[ |
| |
| %endif |
| ]])) |
| end |
| |
| for i = 1, |
| lang_package(languages[i]) |
| end |
| } |
| |
| |
| |
| |
| |
| %package all-langpacks |
| Summary: All language packs for %{name}. |
| Requires: %{name} = %{version}-%{release} |
| Requires: %{name}-common = %{version}-%{release} |
| Provides: %{name}-langpack = %{version}-%{release} |
| %description all-langpacks |
| |
| |
| |
| |
| |
| |
| |
| %package minimal-langpack |
| Summary: Minimal language packs for %{name}. |
| Provides: glibc-langpack = %{version}-%{release} |
| Requires: %{name} = %{version}-%{release} |
| Requires: %{name}-common = %{version}-%{release} |
| %description minimal-langpack |
| This is a Meta package that is used to install minimal language packs. |
| This package ensures you can use C, POSIX, or C.UTF-8 locales, but |
| nothing else. It is designed for assembling a minimal system. |
| %ifnarch %{auxarches} |
| %files minimal-langpack |
| %endif |
| |
| |
| |
| |
| %package -n nscd |
| Summary: A Name Service Caching Daemon (nscd). |
| Requires: %{name} = %{version}-%{release} |
| %if %{without bootstrap} |
| Requires: libselinux >= 1.17.10-1 |
| %endif |
| Requires: audit-libs >= 1.1.3 |
| Requires(pre): /usr/sbin/useradd, coreutils |
| Requires(post): systemd |
| Requires(preun): systemd |
| Requires(postun): systemd, /usr/sbin/userdel |
| |
| %description -n nscd |
| The nscd daemon caches name service lookups and can improve |
| performance with LDAP, and may help with DNS as well. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %package -n nss_db |
| Summary: Name Service Switch (NSS) module using hash-indexed files |
| Requires: %{name}%{_isa} = %{version}-%{release} |
| |
| %description -n nss_db |
| The nss_db Name Service Switch module uses hash-indexed files in /var/db |
| to speed up user, group, service, host name, and other NSS-based lookups. |
| |
| %package -n nss_hesiod |
| Summary: Name Service Switch (NSS) module using Hesiod |
| Requires: %{name}%{_isa} = %{version}-%{release} |
| |
| %description -n nss_hesiod |
| The nss_hesiod Name Service Switch module uses the Domain Name System |
| (DNS) as a source for user, group, and service information, following |
| the Hesiod convention of Project Athena. |
| |
| %package nss-devel |
| Summary: Development files for directly linking NSS service modules |
| Requires: nss_db%{_isa} = %{version}-%{release} |
| Requires: nss_hesiod%{_isa} = %{version}-%{release} |
| |
| %description nss-devel |
| The glibc-nss-devel package contains the object files necessary to |
| compile applications and libraries which directly link against NSS |
| modules supplied by glibc. |
| |
| This is a rare and special use case; regular development has to use |
| the glibc-devel package instead. |
| |
| |
| |
| |
| %package utils |
| Summary: Development utilities from GNU C library |
| Requires: %{name} = %{version}-%{release} |
| |
| %description utils |
| The glibc-utils package contains memusage, a memory usage profiler, |
| mtrace, a memory leak tracer and xtrace, a function call tracer |
| which can be helpful during program debugging. |
| |
| If unsure if you need this, don't install this package. |
| |
| |
| |
| |
| %if 0%{?_enable_debug_packages} |
| %define debug_package %{nil} |
| %define __debug_install_post %{nil} |
| %global __debug_package 1 |
| |
| %undefine _debugsource_packages |
| %undefine _debuginfo_subpackages |
| %undefine _unique_debug_names |
| %undefine _unique_debug_srcs |
| |
| %package debuginfo |
| Summary: Debug information for package %{name} |
| AutoReqProv: no |
| %ifarch %{debuginfocommonarches} |
| Requires: glibc-debuginfo-common = %{version}-%{release} |
| %else |
| %ifarch %{ix86} %{sparc} |
| Obsoletes: glibc-debuginfo-common |
| %endif |
| %endif |
| |
| %description debuginfo |
| This package provides debug information for package %{name}. |
| Debug information is useful when developing applications that use this |
| package or when debugging this package. |
| |
| This package also contains static standard C libraries with |
| debugging information. You need this only if you want to step into |
| C library routines during debugging programs statically linked against |
| one or more of the standard C libraries. |
| To use this debugging information, you need to link binaries |
| with -static -L%{_prefix}/lib/debug%{_libdir} compiler options. |
| |
| |
| |
| |
| %ifarch %{debuginfocommonarches} |
| |
| %package debuginfo-common |
| Summary: Debug information for package %{name} |
| AutoReqProv: no |
| |
| %description debuginfo-common |
| This package provides debug information for package %{name}. |
| Debug information is useful when developing applications that use this |
| package or when debugging this package. |
| |
| %endif |
| %endif |
| |
| %if %{with benchtests} |
| %package benchtests |
| Summary: Benchmarking binaries and scripts for %{name} |
| %description benchtests |
| This package provides built benchmark binaries and scripts to run |
| microbenchmark tests on the system. |
| %endif |
| |
| |
| |
| |
| %prep |
| %autosetup -n %{glibcsrcdir} -p1 |
| |
| |
| |
| |
| |
| chmod +x benchtests/scripts/*.py scripts/pylint |
| |
| |
| find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \; |
| |
| |
| |
| touch `find . -name configure` |
| |
| |
| touch locale/programs/*-kw.h |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| diff -u %{SOURCE11} localedata/SUPPORTED |
| |
| |
| |
| |
| %build |
| |
| uname -a |
| LD_SHOW_AUXV=1 /bin/true |
| cat /proc/cpuinfo |
| cat /proc/meminfo |
| df |
| |
| |
| GCC=gcc |
| GXX=g++ |
| |
| |
| BuildFlags="-O2 -g" |
| rpm_inherit_flags () |
| { |
| local reference=" $* " |
| local flag |
| for flag in $RPM_OPT_FLAGS $RPM_LD_FLAGS ; do |
| if echo "$reference" | grep -q -F " $flag " ; then |
| BuildFlags="$BuildFlags $flag" |
| fi |
| done |
| } |
| |
| |
| |
| |
| |
| |
| |
| rpm_inherit_flags \ |
| "-fasynchronous-unwind-tables" \ |
| "-fstack-clash-protection" \ |
| "-funwind-tables" \ |
| "-m31" \ |
| "-m32" \ |
| "-m64" \ |
| "-mstackrealign" \ |
| "-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1" \ |
| |
| |
| |
| |
| EnableKernel="--enable-kernel=%{enablekernel}" |
| |
| |
| echo "$GCC" > Gcc |
| |
| |
| |
| |
| |
| |
| |
| |
| build() |
| { |
| local builddir=build-%{target}${1:+-$1} |
| ${1+shift} |
| rm -rf $builddir |
| mkdir $builddir |
| pushd $builddir |
| ../configure CC="$GCC" CXX="$GXX" CFLAGS="$BuildFlags $*" \ |
| --prefix=%{_prefix} \ |
| --with-headers=%{_prefix}/include $EnableKernel \ |
| --enable-bind-now \ |
| --build=%{target} \ |
| --enable-stack-protector=strong \ |
| %ifarch %{pie_arches} |
| --enable-static-pie \ |
| %endif |
| --enable-tunables \ |
| --enable-systemtap \ |
| ${core_with_options} \ |
| %ifarch %{ix86} |
| --disable-multi-arch \ |
| %endif |
| %if %{without werror} |
| --disable-werror \ |
| %endif |
| --disable-profile \ |
| %if %{with bootstrap} |
| --without-selinux \ |
| %endif |
| --disable-nss-crypt || |
| { cat config.log; false; } |
| |
| make %{?_smp_mflags} -O -r |
| popd |
| } |
| |
| |
| |
| |
| build |
| |
| |
| |
| |
| |
| |
| |
| %if %{buildpower6} |
| ( |
| platform=`LD_SHOW_AUXV=1 /bin/true | sed -n 's/^AT_PLATFORM:[[:blank:]]*//p'` |
| if [ "$platform" != power6 ]; then |
| mkdir -p power6emul/{lib,lib64} |
| $GCC -shared -O2 -fpic -o power6emul/%{_lib}/power6emul.so %{SOURCE8} -Wl,-z,initfirst |
| %ifarch ppc64 |
| gcc -shared -nostdlib -O2 -fpic -m32 -o power6emul/lib/power6emul.so -xc - < /dev/null |
| %endif |
| export LD_PRELOAD=`pwd`/power6emul/\$LIB/power6emul.so |
| fi |
| GCC="$GCC -mcpu=power6" |
| GXX="$GXX -mcpu=power6" |
| core_with_options="--with-cpu=power6" |
| build power6 |
| ) |
| %endif |
| |
| %if %{buildpower7} |
| ( |
| GCC="$GCC -mcpu=power7 -mtune=power7" |
| GXX="$GXX -mcpu=power7 -mtune=power7" |
| core_with_options="--with-cpu=power7" |
| build power7 |
| ) |
| %endif |
| |
| %if %{buildpower8} |
| ( |
| GCC="$GCC -mcpu=power8 -mtune=power8" |
| GXX="$GXX -mcpu=power8 -mtune=power8" |
| core_with_options="--with-cpu=power8" |
| build power8 |
| ) |
| %endif |
| |
| |
| |
| |
| %install |
| |
| |
| find . -type f -name '*.filelist' -exec rm -rf {} \; |
| |
| |
| |
| |
| |
| |
| |
| |
| chmod 644 sysdeps/gnu/errlist.c |
| |
| |
| GCC=`cat Gcc` |
| |
| %ifarch riscv64 |
| |
| |
| |
| for d in $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT/%{_lib}; do |
| mkdir -p $d |
| (cd $d && ln -sf . lp64d) |
| done |
| %endif |
| |
| |
| make -j1 install_root=$RPM_BUILD_ROOT install -C build-%{target} |
| |
| |
| |
| %ifnarch %{auxarches} |
| pushd build-%{target} |
| make %{?_smp_mflags} -O install_root=$RPM_BUILD_ROOT \ |
| install-locales -C ../localedata objdir=`pwd` |
| popd |
| %endif |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| install_different() |
| { |
| local lib libbase libbaseso dlib |
| local destdir="$1" |
| local subdir="$2" |
| local subdir_up="$3" |
| local libdestdir="$destdir/$subdir" |
| |
| if ! [ "$destdir" \ |
| -a "$subdir" \ |
| -a "$subdir_up" ]; then |
| echo "One of the arguments to install_different was emtpy." |
| exit 1 |
| fi |
| |
| mkdir -p "$destdir" |
| mkdir -p "$libdestdir" |
| |
| for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db |
| do |
| libbase=${lib |
| |
| |
| libbaseso=$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}-*.so) |
| |
| if cmp -s ${lib}.so ../build-%{target}/${lib}.so; then |
| ln -sf "$subdir_up"/$libbaseso $libdestdir/$libbaseso |
| else |
| cp -a ${lib}.so $libdestdir/$libbaseso |
| fi |
| dlib=$libdestdir/$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}.so.*) |
| ln -sf $libbaseso $dlib |
| done |
| } |
| |
| |
| |
| |
| %if %{buildpower6} |
| %define power6_subdir power6 |
| %define power6_subdir_up .. |
| %define power6_legacy power6x |
| %define power6_legacy_up .. |
| pushd build-%{target}-power6 |
| destdir=$RPM_BUILD_ROOT/%{_lib} |
| install_different "$destdir" "%{power6_subdir}" "%{power6_subdir_up}" |
| |
| |
| |
| mkdir -p ${destdir}/%{power6_legacy} |
| pushd ${destdir}/%{power6_legacy} |
| ln -sf %{power6_legacy_up}/%{power6_subdir}/*.so . |
| cp -a %{power6_legacy_up}/%{power6_subdir}/*.so.* . |
| popd |
| popd |
| %endif |
| |
| %if %{buildpower7} |
| %define power7_subdir power7 |
| %define power7_subdir_up .. |
| pushd build-%{target}-power7 |
| destdir=$RPM_BUILD_ROOT/%{_lib} |
| install_different "$destdir" "%{power7_subdir}" "%{power7_subdir_up}" |
| popd |
| %endif |
| |
| %if %{buildpower8} |
| %define power8_subdir power8 |
| %define power8_subdir_up .. |
| pushd build-%{target}-power8 |
| destdir=$RPM_BUILD_ROOT/%{_lib} |
| install_different "$destdir" "%{power8_subdir}" "%{power8_subdir_up}" |
| popd |
| %endif |
| |
| |
| |
| |
| |
| |
| |
| |
| rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion* |
| rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion* |
| |
| |
| rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss1-* |
| rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss-*.so.1 |
| |
| |
| |
| |
| |
| rm -f ${RPM_BUILD_ROOT}/{usr/,}sbin/sln |
| |
| |
| |
| |
| |
| |
| |
| mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig |
| truncate -s 0 $RPM_BUILD_ROOT/var/cache/ldconfig/aux-cache |
| |
| |
| ${RPM_BUILD_ROOT}/sbin/ldconfig -N -r ${RPM_BUILD_ROOT} |
| |
| |
| |
| |
| |
| %if %{with docs} |
| |
| if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then |
| mkdir -p $RPM_BUILD_ROOT%{_infodir} |
| mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir} |
| rm -rf $RPM_BUILD_ROOT%{_prefix}/info |
| fi |
| |
| |
| gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc* |
| |
| %else |
| rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
| rm -f $RPM_BUILD_ROOT%{_infodir}/libc.info* |
| %endif |
| |
| |
| |
| |
| |
| %ifnarch %{auxarches} |
| olddir=`pwd` |
| pushd ${RPM_BUILD_ROOT}%{_prefix}/lib/locale |
| rm -f locale-archive |
| |
| |
| $olddir/build-%{target}/elf/ld.so \ |
| --library-path $olddir/build-%{target}/ \ |
| $olddir/build-%{target}/locale/localedef \ |
| --prefix ${RPM_BUILD_ROOT} --add-to-archive \ |
| *_* |
| |
| mv locale-archive{,.tmpl} |
| |
| for i in eo *_* |
| do |
| lang=${i%%_*} |
| if [ ! -e langpack-${lang}.filelist ]; then |
| echo "%dir %{_prefix}/lib/locale" >> langpack-${lang}.filelist |
| fi |
| echo "%dir %{_prefix}/lib/locale/$i" >> langpack-${lang}.filelist |
| echo "%{_prefix}/lib/locale/$i/*" >> langpack-${lang}.filelist |
| done |
| popd |
| pushd ${RPM_BUILD_ROOT}%{_prefix}/share/locale |
| for i in */LC_MESSAGES/libc.mo |
| do |
| locale=${i%%%%/*} |
| lang=${locale%%%%_*} |
| echo "%lang($lang) %{_prefix}/share/locale/${i}" \ |
| >> ${RPM_BUILD_ROOT}%{_prefix}/lib/locale/langpack-${lang}.filelist |
| done |
| popd |
| mv ${RPM_BUILD_ROOT}%{_prefix}/lib/locale/*.filelist . |
| %endif |
| |
| |
| |
| |
| |
| install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc/nsswitch.conf |
| |
| %ifnarch %{auxarches} |
| |
| install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc |
| mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} |
| install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir} |
| mkdir -p $RPM_BUILD_ROOT/lib/systemd/system |
| install -m 644 nscd/nscd.service nscd/nscd.socket $RPM_BUILD_ROOT/lib/systemd/system |
| %endif |
| |
| |
| echo 'include ld.so.conf.d/*.conf' > $RPM_BUILD_ROOT/etc/ld.so.conf |
| truncate -s 0 $RPM_BUILD_ROOT/etc/ld.so.cache |
| chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf |
| mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d |
| %ifnarch %{auxarches} |
| mkdir -p $RPM_BUILD_ROOT/etc/sysconfig |
| truncate -s 0 $RPM_BUILD_ROOT/etc/sysconfig/nscd |
| truncate -s 0 $RPM_BUILD_ROOT/etc/gai.conf |
| %endif |
| |
| |
| truncate -s 0 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache |
| chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache |
| |
| |
| |
| |
| |
| |
| install -m 700 build-%{target}/elf/glibc_post_upgrade \ |
| $RPM_BUILD_ROOT%{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu} |
| |
| |
| strip -g $RPM_BUILD_ROOT%{_libdir}/*.o |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %if 0%{?_enable_debug_packages} |
| mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir} |
| cp -a $RPM_BUILD_ROOT%{_libdir}/*.a \ |
| $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/ |
| rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a |
| %endif |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| { |
| find $RPM_BUILD_ROOT \( -type f -o -type l \) \ |
| \( \ |
| -name etc -printf "%%%%config " -o \ |
| -name gconv-modules \ |
| -printf "%%%%verify(not md5 size mtime) %%%%config(noreplace) " -o \ |
| -name gconv-modules.cache \ |
| -printf "%%%%verify(not md5 size mtime) " \ |
| , \ |
| ! -path "*/lib/debug/*" -printf "/%%P\n" \) |
| |
| |
| find $RPM_BUILD_ROOT -type d \ |
| \( -path '*%{_prefix}/share/locale' -prune -o \ |
| \( -path '*%{_prefix}/share/*' \ |
| %if %{with docs} |
| ! -path '*%{_infodir}' -o \ |
| %endif |
| -path "*%{_prefix}/include/*" \ |
| \) -printf "%%%%dir /%%P\n" \) |
| } | { |
| |
| |
| |
| |
| |
| |
| |
| |
| sed -e '\,.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo,d' \ |
| -e '\,.*/share/i18n/locales/.*,d' \ |
| -e '\,.*/share/i18n/charmaps/.*,d' \ |
| -e '\,/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \ |
| -e '\,/%{_lib}/lib\(pcprofile\|memusage\)\.so,d' \ |
| -e '\,bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d' |
| } | sort > rpm.filelist |
| |
| touch common.filelist |
| |
| mkdir -p $RPM_BUILD_ROOT%{_libdir} |
| mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so $RPM_BUILD_ROOT%{_libdir} |
| |
| |
| |
| |
| for i in $RPM_BUILD_ROOT%{_prefix}/bin/{xtrace,memusage}; do |
| %if %{with bootstrap} |
| test -w $i || continue |
| %endif |
| sed -e 's~=/%{_lib}/libpcprofile.so~=%{_libdir}/libpcprofile.so~' \ |
| -e 's~=/%{_lib}/libmemusage.so~=%{_libdir}/libmemusage.so~' \ |
| -e 's~='\''/\\\$LIB/libpcprofile.so~='\''%{_prefix}/\\$LIB/libpcprofile.so~' \ |
| -e 's~='\''/\\\$LIB/libmemusage.so~='\''%{_prefix}/\\$LIB/libmemusage.so~' \ |
| -i $i |
| done |
| |
| %if %{with docs} |
| |
| grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist |
| %endif |
| |
| |
| |
| |
| |
| grep '%{_prefix}/include/gnu/stubs-.*\.h$' < rpm.filelist >> devel.filelist || : |
| grep '%{_prefix}/include/gnu/lib-names-.*\.h$' < rpm.filelist >> devel.filelist || : |
| |
| grep '%{_prefix}/include' < rpm.filelist \ |
| | egrep -v '%{_prefix}/include/gnu/stubs-.*\.h$' \ |
| | egrep -v '%{_prefix}/include/gnu/lib-names-.*\.h$' \ |
| > headers.filelist |
| |
| |
| |
| sed -i -e '\|%{_libdir}/lib.*_p.a|d' \ |
| -e '\|%{_prefix}/include|d' \ |
| -e '\|%{_infodir}|d' \ |
| rpm.filelist |
| |
| |
| grep '%{_libdir}/lib.*\.a' < rpm.filelist \ |
| | grep '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \ |
| >> devel.filelist |
| |
| |
| grep '%{_libdir}/lib.*\.a' < rpm.filelist \ |
| | grep -v '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \ |
| > static.filelist |
| |
| |
| |
| grep '%{_libdir}/.*\.o' < rpm.filelist >> devel.filelist |
| grep '%{_libdir}/lib.*\.so' < rpm.filelist >> devel.filelist |
| |
| |
| |
| sed -i -e '\|%{_libdir}/lib.*\.a|d' \ |
| -e '\|%{_libdir}/.*\.o|d' \ |
| -e '\|%{_libdir}/lib.*\.so|d' \ |
| -e '\|nscd|d' rpm.filelist |
| |
| |
| |
| |
| grep '%{_prefix}/bin' < rpm.filelist >> common.filelist |
| grep '%{_prefix}/sbin/[^gi]' < rpm.filelist >> common.filelist |
| |
| |
| grep '%{_prefix}/share' < rpm.filelist | \ |
| grep -v -e '%{_prefix}/share/zoneinfo' -e '%%dir %{prefix}/share' \ |
| >> common.filelist |
| |
| |
| |
| |
| |
| |
| |
| sed -i -e '\|%{_prefix}/bin|d' \ |
| -e '\|%{_prefix}/lib/locale|d' \ |
| -e '\|%{_prefix}/sbin/[^gi]|d' \ |
| -e '\|%{_prefix}/share|d' rpm.filelist |
| |
| |
| echo '%{_prefix}/sbin/build-locale-archive' >> common.filelist |
| |
| |
| echo '%{_prefix}/sbin/nscd' > nscd.filelist |
| |
| |
| |
| |
| cat >> rpm.filelist <<EOF |
| %{_libdir}/libmemusage.so |
| %{_libdir}/libpcprofile.so |
| EOF |
| |
| |
| cat > utils.filelist <<EOF |
| %if %{without bootstrap} |
| %{_prefix}/bin/memusage |
| %{_prefix}/bin/memusagestat |
| %endif |
| %{_prefix}/bin/mtrace |
| %{_prefix}/bin/pcprofiledump |
| %{_prefix}/bin/xtrace |
| EOF |
| |
| |
| |
| for module in db compat hesiod files dns; do |
| grep -E "/libnss_$module(\.so\.[0-9.]+|-[0-9.]+\.so)$" \ |
| rpm.filelist > nss_$module.filelist |
| done |
| |
| |
| grep '/libnss_[a-z]*\.so$' devel.filelist > nss-devel.filelist |
| |
| |
| sed -i -e '\,/libnss_.*\.so[0-9.]*$,d' \ |
| -e '\,/var/db/Makefile,d' \ |
| rpm.filelist devel.filelist |
| |
| cat nss_files.filelist nss_dns.filelist nss_compat.filelist >> rpm.filelist |
| |
| |
| grep '/libnsl-[0-9.]*.so$' rpm.filelist > libnsl.filelist |
| test $(wc -l < libnsl.filelist) -eq 1 |
| sed -i -e '\,/libnsl,d' rpm.filelist |
| |
| |
| |
| |
| rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo |
| |
| |
| |
| |
| |
| |
| |
| touch -r %{SOURCE0} $RPM_BUILD_ROOT/etc/ld.so.conf |
| touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc |
| |
| pushd build-%{target} |
| $GCC -Os -g -static -o build-locale-archive %{SOURCE1} \ |
| ../build-%{target}/locale/locarchive.o \ |
| ../build-%{target}/locale/md5.o \ |
| ../build-%{target}/locale/record-status.o \ |
| -I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \ |
| -L../build-%{target} \ |
| -B../build-%{target}/csu/ -lc -lc_nonshared |
| install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive |
| popd |
| |
| # Lastly copy some additional documentation for the packages. |
| rm -rf documentation |
| mkdir documentation |
| cp crypt/README.ufc-crypt documentation/README.ufc-crypt |
| cp timezone/README documentation/README.timezone |
| cp posix/gai.conf documentation/ |
| |
| %ifarch s390x |
| # Compatibility symlink |
| mkdir -p $RPM_BUILD_ROOT/lib |
| ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/lib/ld64.so.1 |
| %endif |
| |
| %if %{with benchtests} |
| # Build benchmark binaries. Ignore the output of the benchmark runs. |
| pushd build-%{target} |
| make BENCH_DURATION=1 bench-build |
| popd |
| |
| # Copy over benchmark binaries. |
| mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests |
| cp $(find build-%{target}/benchtests -type f -executable) $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| |
| find build-%{target}/benchtests -type f -executable | while read b; do |
| echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" |
| done >> benchtests.filelist |
| |
| # ... and the makefile. |
| for b in %{SOURCE9} %{SOURCE10}; do |
| cp $b $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist |
| done |
| |
| # .. and finally, the comparison scripts. |
| cp benchtests/scripts/benchout.schema.json $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| cp benchtests/scripts/compare_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| cp benchtests/scripts/import_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| cp benchtests/scripts/validate_benchout.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |
| |
| echo "%{_prefix}/libexec/glibc-benchtests/benchout.schema.json" >> benchtests.filelist |
| echo "%{_prefix}/libexec/glibc-benchtests/compare_bench.py*" >> benchtests.filelist |
| echo "%{_prefix}/libexec/glibc-benchtests/import_bench.py*" >> benchtests.filelist |
| echo "%{_prefix}/libexec/glibc-benchtests/validate_benchout.py*" >> benchtests.filelist |
| %endif |
| |
| ############################################################################### |
| # Rebuild libpthread.a using --whole-archive to ensure all of libpthread |
| # is included in a static link. This prevents any problems when linking |
| # statically, using parts of libpthread, and other necessary parts not |
| # being included. Upstream has decided that this is the wrong approach to |
| # this problem and that the full set of dependencies should be resolved |
| # such that static linking works and produces the most minimally sized |
| # static application possible. |
| ############################################################################### |
| pushd $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ |
| $GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a |
| rm libpthread.a |
| ar rcs libpthread.a libpthread.o |
| rm libpthread.o |
| popd |
| ############################################################################### |
| |
| %if 0%{?_enable_debug_packages} |
| |
| # The #line directives gperf generates do not give the proper |
| # file name relative to the build directory. |
| pushd locale |
| ln -s programs/*.gperf . |
| popd |
| pushd iconv |
| ln -s ../locale/programs/charmap-kw.gperf . |
| popd |
| |
| # Print some diagnostic information in the builds about the |
| # getconf binaries. |
| # XXX: Why do we do this? |
| ls -l $RPM_BUILD_ROOT%{_prefix}/bin/getconf |
| ls -l $RPM_BUILD_ROOT%{_prefix}/libexec/getconf |
| eu-readelf -hS $RPM_BUILD_ROOT%{_prefix}/bin/getconf \ |
| $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/* |
| |
| find_debuginfo_args='--strict-build-id -g' |
| %ifarch %{debuginfocommonarches} |
| find_debuginfo_args="$find_debuginfo_args \ |
| -l common.filelist \ |
| -l utils.filelist \ |
| -l nscd.filelist \ |
| -p '.*/(sbin|libexec)/.*' \ |
| -o debuginfocommon.filelist \ |
| -l nss_db.filelist -l nss_hesiod.filelist \ |
| -l libnsl.filelist -l rpm.filelist \ |
| %if %{with benchtests} |
| -l benchtests.filelist |
| %endif |
| " |
| %endif |
| /usr/lib/rpm/find-debuginfo.sh $find_debuginfo_args -o debuginfo.filelist |
| |
| # List all of the *.a archives in the debug directory. |
| list_debug_archives() |
| { |
| local dir=%{_prefix}/lib/debug%{_libdir} |
| find $RPM_BUILD_ROOT$dir -name "*.a" -printf "$dir/%%P\n" |
| } |
| |
| %ifarch %{debuginfocommonarches} |
| |
| |
| sed -i '\ |
| |
| |
| find $RPM_BUILD_ROOT%{_prefix}/src/debug \ |
| \( -type d -printf '%%%%dir ' \) , \ |
| -printf '%{_prefix}/src/debug/%%P\n' > debuginfocommon.sources |
| |
| %ifarch %{biarcharches} |
| |
| |
| cat debuginfocommon.sources >> debuginfo.filelist |
| |
| %else |
| |
| %ifarch %{ix86} |
| %define basearch i686 |
| %endif |
| %ifarch sparc sparcv9 |
| %define basearch sparc |
| %endif |
| |
| |
| auxarches_debugsources=\ |
| '/(generic|linux|%{basearch}|nptl(_db)?)/|/%{glibcsrcdir}/build|/dl-osinfo\.h' |
| |
| |
| egrep "$auxarches_debugsources" debuginfocommon.sources >> debuginfo.filelist |
| |
| |
| egrep -v "$auxarches_debugsources" \ |
| debuginfocommon.sources >> debuginfocommon.filelist |
| |
| %endif |
| |
| |
| |
| list_debug_archives >> debuginfocommon.filelist |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| sort -u debuginfocommon.filelist > debuginfocommon2.filelist |
| mv debuginfocommon2.filelist debuginfocommon.filelist |
| |
| %endif |
| |
| |
| sort -u debuginfo.filelist > debuginfo2.filelist |
| mv debuginfo2.filelist debuginfo.filelist |
| |
| |
| |
| exclude_common_dirs() |
| { |
| exclude_dirs="%{_prefix}/src/debug" |
| exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug{,/%{_lib},/bin,/sbin})" |
| exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug%{_prefix}{,/%{_lib},/libexec,/bin,/sbin})" |
| |
| for d in $(echo $exclude_dirs | sed 's/ /\n/g'); do |
| sed -i "\|^%%dir $d/\?$|d" $1 |
| done |
| } |
| |
| %ifarch %{debuginfocommonarches} |
| exclude_common_dirs debuginfocommon.filelist |
| %endif |
| exclude_common_dirs debuginfo.filelist |
| |
| %endif |
| |
| %if %{with docs} |
| |
| |
| rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
| %endif |
| |
| %ifarch %{auxarches} |
| |
| |
| echo Cutting down the list of unpackaged files |
| sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s |
| common.filelist devel.filelist static.filelist headers.filelist \ |
| utils.filelist nscd.filelist \ |
| %ifarch %{debuginfocommonarches} |
| debuginfocommon.filelist \ |
| %endif |
| | (cd $RPM_BUILD_ROOT; xargs --no-run-if-empty rm -f 2> /dev/null || :) |
| |
| %else |
| |
| mkdir -p $RPM_BUILD_ROOT/var/{db,run}/nscd |
| touch $RPM_BUILD_ROOT/var/{db,run}/nscd/{passwd,group,hosts,services} |
| touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} |
| |
| %endif |
| |
| %ifnarch %{auxarches} |
| truncate -s 0 $RPM_BUILD_ROOT/%{_prefix}/lib/locale/locale-archive |
| %endif |
| |
| |
| |
| |
| %check |
| %if %{with testsuite} |
| |
| |
| |
| |
| |
| |
| run_tests () { |
| |
| |
| |
| make %{?_smp_mflags} -O check |& tee rpmbuild.check.log >&2 |
| test -n tests.sum |
| if ! grep -q '^Summary of test results:$' rpmbuild.check.log ; then |
| echo "FAIL: test suite build of target: $(basename "$(pwd)")" >& 2 |
| exit 1 |
| fi |
| set +x |
| grep -v ^PASS: tests.sum > rpmbuild.tests.sum.not-passing || true |
| if test -n rpmbuild.tests.sum.not-passing ; then |
| echo ===================FAILED TESTS===================== >&2 |
| echo "Target: $(basename "$(pwd)")" >& 2 |
| cat rpmbuild.tests.sum.not-passing >&2 |
| while read failed_code failed_test ; do |
| for suffix in out test-result ; do |
| if test -e "$failed_test.$suffix"; then |
| echo >&2 |
| echo "=====$failed_code $failed_test.$suffix=====" >&2 |
| cat -- "$failed_test.$suffix" >&2 |
| echo >&2 |
| fi |
| done |
| done <rpmbuild.tests.sum.not-passing |
| fi |
| |
| |
| echo "* System call consistency checks:" >&2 |
| cat misc/tst-syscall-list.out >&2 |
| set -x |
| } |
| |
| |
| export TIMEOUTFACTOR=16 |
| parent=$$ |
| echo ====================TESTING========================= |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| pushd build-%{target} |
| run_tests |
| popd |
| |
| %if %{buildpower6} |
| echo ====================TESTING -mcpu=power6============= |
| |
| |
| |
| pushd build-%{target}-power6 |
| if [ -d ../power6emul ]; then |
| export LD_PRELOAD=`cd ../power6emul; pwd`/\$LIB/power6emul.so |
| fi |
| run_tests |
| popd |
| %endif |
| |
| %if %{buildpower7} |
| echo ====================TESTING -mcpu=power7============= |
| |
| |
| |
| pushd build-%{target}-power7 |
| run_tests |
| popd |
| %endif |
| |
| %if %{buildpower8} |
| echo ====================TESTING -mcpu=power8============= |
| |
| |
| |
| pushd build-%{target}-power8 |
| run_tests |
| popd |
| %endif |
| |
| echo ====================TESTING END===================== |
| PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p' |
| echo ====================PLT RELOCS LD.SO================ |
| readelf -Wr $RPM_BUILD_ROOT/%{_lib}/ld-*.so | sed -n -e "$PLTCMD" |
| echo ====================PLT RELOCS LIBC.SO============== |
| readelf -Wr $RPM_BUILD_ROOT/%{_lib}/libc-*.so | sed -n -e "$PLTCMD" |
| echo ====================PLT RELOCS END================== |
| |
| |
| |
| |
| |
| pushd build-%{target} |
| |
| |
| |
| LD_SHOW_AUXV=1 elf/ld.so --library-path .:elf:nptl:dlfcn /bin/true |
| |
| %if %{with valgrind} |
| elf/ld.so --library-path .:elf:nptl:dlfcn \ |
| /usr/bin/valgrind --error-exitcode=1 \ |
| elf/ld.so --library-path .:elf:nptl:dlfcn /usr/bin/true |
| %endif |
| popd |
| |
| %endif |
| |
| |
| %pre -p <lua> |
| -- Check that the running kernel is new enough |
| required = '%{enablekernel}' |
| rel = posix.uname("%r") |
| if rpm.vercmp(rel, required) < 0 then |
| error("FATAL: kernel too old", 0) |
| end |
| |
| %post -p %{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu} |
| |
| %posttrans all-langpacks -e -p <lua> |
| -- If at the end of the transaction we are still installed |
| -- (have a template of non-zero size), then we rebuild the |
| -- locale cache (locale-archive) from the pre-populated |
| -- locale cache (locale-archive.tmpl) i.e. template. |
| if posix.stat("%{_prefix}/lib/locale/locale-archive.tmpl", "size") > 0 then |
| pid = posix.fork() |
| if pid == 0 then |
| posix.exec("%{_prefix}/sbin/build-locale-archive", "--install-langs", "%%{_install_langs}") |
| elseif pid > 0 then |
| posix.wait(pid) |
| end |
| end |
| |
| %postun all-langpacks -p <lua> |
| -- In the postun we always remove the locale cache. |
| -- We are being uninstalled and if this is an upgrade |
| -- then the new packages template will be used to |
| -- recreate a new copy of the cache. |
| os.remove("%{_prefix}/lib/locale/locale-archive") |
| |
| %if %{with docs} |
| %post devel |
| /sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || : |
| %endif |
| |
| %pre headers |
| |
| if [ -L %{_prefix}/include/scsi ] ; then |
| rm -f %{_prefix}/include/scsi |
| fi |
| |
| %if %{with docs} |
| %preun devel |
| if [ "$1" = 0 ]; then |
| /sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || : |
| fi |
| %endif |
| |
| %pre -n nscd |
| getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd |
| getent passwd nscd >/dev/null || |
| /usr/sbin/useradd -M -o -r -d / -s /sbin/nologin \ |
| -c "NSCD Daemon" -u 28 -g nscd nscd |
| |
| %post -n nscd |
| %systemd_post nscd.service |
| |
| %preun -n nscd |
| %systemd_preun nscd.service |
| |
| %postun -n nscd |
| if test $1 = 0; then |
| /usr/sbin/userdel nscd > /dev/null 2>&1 || : |
| fi |
| %systemd_postun_with_restart nscd.service |
| |
| %files -f rpm.filelist |
| %dir %{_prefix}/%{_lib}/audit |
| %if %{buildpower6} |
| %dir /%{_lib}/power6 |
| %dir /%{_lib}/power6x |
| %endif |
| %if %{buildpower7} |
| %dir /%{_lib}/power7 |
| %endif |
| %if %{buildpower8} |
| %dir /%{_lib}/power8 |
| %endif |
| %ifarch s390x |
| /lib/ld64.so.1 |
| %endif |
| %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf |
| %verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf |
| %verify(not md5 size mtime) %config(noreplace) /etc/rpc |
| %dir /etc/ld.so.conf.d |
| %dir %{_prefix}/libexec/getconf |
| %dir %{_libdir}/gconv |
| %dir %attr(0700,root,root) /var/cache/ldconfig |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache |
| %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache |
| %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf |
| %doc README NEWS INSTALL elf/rtld-debugger-interface.txt |
| |
| %{!?_licensedir:%global license %%doc} |
| %license COPYING COPYING.LIB LICENSES |
| |
| %ifnarch %{auxarches} |
| %files -f common.filelist common |
| %dir %{_prefix}/lib/locale |
| %dir %{_prefix}/lib/locale/C.utf8 |
| %{_prefix}/lib/locale/C.utf8/* |
| %doc documentation/README.timezone |
| %doc documentation/gai.conf |
| |
| %files all-langpacks |
| %attr(0644,root,root) %verify(not md5 size mtime) %{_prefix}/lib/locale/locale-archive.tmpl |
| %attr(0644,root,root) %verify(not md5 size mtime mode) %ghost %config(missingok,noreplace) %{_prefix}/lib/locale/locale-archive |
| |
| %files locale-source |
| %dir %{_prefix}/share/i18n/locales |
| %{_prefix}/share/i18n/locales/* |
| %dir %{_prefix}/share/i18n/charmaps |
| %{_prefix}/share/i18n/charmaps/* |
| |
| %files -f devel.filelist devel |
| |
| %files -f static.filelist static |
| |
| %files -f headers.filelist headers |
| |
| %files -f utils.filelist utils |
| |
| %files -f nscd.filelist -n nscd |
| %config(noreplace) /etc/nscd.conf |
| %dir %attr(0755,root,root) /var/run/nscd |
| %dir %attr(0755,root,root) /var/db/nscd |
| /lib/systemd/system/nscd.service |
| /lib/systemd/system/nscd.socket |
| %{_tmpfilesdir}/nscd.conf |
| %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid |
| %attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd |
| %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/services |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/passwd |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/group |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts |
| %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services |
| %ghost %config(missingok,noreplace) /etc/sysconfig/nscd |
| %endif |
| |
| %files -f nss_db.filelist -n nss_db |
| /var/db/Makefile |
| %files -f nss_hesiod.filelist -n nss_hesiod |
| %doc hesiod/README.hesiod |
| %files -f nss-devel.filelist nss-devel |
| |
| %files -f libnsl.filelist -n libnsl |
| /%{_lib}/libnsl.so.1 |
| |
| %if 0%{?_enable_debug_packages} |
| %files debuginfo -f debuginfo.filelist |
| %ifarch %{debuginfocommonarches} |
| %ifnarch %{auxarches} |
| %files debuginfo-common -f debuginfocommon.filelist |
| %endif |
| %endif |
| %endif |
| |
| %if %{with benchtests} |
| %files benchtests -f benchtests.filelist |
| %endif |
| |
| %changelog |
| * Fri May 25 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-21 |
| - Auto-sync with upstream branch master, |
| commit c1dc1e1b34873db79dfbfa8f2f0a2abbe28c0514. |
| |
| * Wed May 23 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-20 |
| - Auto-sync with upstream branch master, |
| commit 7f9f1ecb710eac4d65bb02785ddf288cac098323: |
| - CVE-2018-11237: Buffer overflow in __mempcpy_avx512_no_vzeroupper ( |
| - Drop glibc-rh1452750-allocate_once.patch, |
| glibc-rh1452750-libidn2.patch. Applied upstream. |
| |
| * Wed May 23 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-19 |
| - Auto-sync with upstream branch master, |
| commit 8f145c77123a565b816f918969e0e35ee5b89153. |
| |
| * Thu May 17 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-18 |
| - Do not run telinit u on upgrades ( |
| - Auto-sync with upstream branch master, |
| commit 632a6cbe44cdd41dba7242887992cdca7b42922a. |
| |
| * Fri May 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-17 |
| - Avoid exporting some Sun RPC symbols with default versions ( |
| - Inherit the -mstackrealign flag if it is set |
| - Inherit compiler flags in the original order |
| - Auto-sync with upstream branch master, |
| commit 89aacb513eb77549a29df2638913a0f8178cf3f5. |
| |
| * Fri May 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-16 |
| - Use /usr/bin/python3 for benchmarks scripts ( |
| |
| * Thu Apr 19 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-15 |
| - Auto-sync with upstream branch master, |
| commit 0085be1415a38b40a5a1a12e49368498f1687380. |
| |
| * Mon Apr 09 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-14 |
| - Auto-sync with upstream branch master, |
| commit 583a27d525ae189bdfaa6784021b92a9a1dae12e. |
| |
| * Thu Mar 29 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-13 |
| - Auto-sync with upstream branch master, |
| commit d39c0a459ef32a41daac4840859bf304d931adab: |
| - CVE-2017-18269: memory corruption in i386 memmove ( |
| |
| * Mon Mar 19 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-12 |
| - Auto-sync with upstream branch master, |
| commit fbce6f7260c3847f14dfa38f60c9111978fb33a5. |
| |
| * Fri Mar 16 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-11 |
| - Auto-sync with upstream branch master, |
| commit 700593fdd7aef1e36cfa8bad969faab76a6facda. |
| |
| * Wed Mar 14 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-10 |
| - Auto-sync with upstream branch master, |
| commit 7108f1f944792ac68332967015d5e6418c5ccc88. |
| |
| * Mon Mar 12 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-9 |
| - Auto-sync with upstream branch master, |
| commit da6d4404ecfd7eacba8c096b0761a5758a59da4b. |
| |
| * Tue Mar 6 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-8 |
| - Enable annobin annotations ( |
| |
| * Thu Mar 01 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-7 |
| - Auto-sync with upstream branch master, |
| commit 1a2f44a848663036c8a14671fe0faa3fed0b2a25: |
| - Remove spurios reference to libpthread_nonshared.a |
| |
| * Thu Mar 01 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-6 |
| - Switch back to upstream master branch |
| - Drop glibc-rh1013801.patch, applied upstream. |
| - Drop glibc-fedora-nptl-linklibc.patch, no longer needed. |
| - Auto-sync with upstream branch master, |
| commit bd60ce86520b781ca24b99b2555e2ad389bbfeaa. |
| |
| * Wed Feb 28 2018 Florian Weimer <fweimer@redhat.com> - 2.27-5 |
| - Inherit as many flags as possible from redhat-rpm-config ( |
| |
| * Mon Feb 19 2018 Richard W.M. Jones <rjones@redhat.com> - 2.27-4 |
| - riscv64: Add symlink from /usr/lib64/lp64d -> /usr/lib64 for ABI compat. |
| - riscv64: Disable valgrind smoke test on this architecture. |
| |
| * Wed Feb 14 2018 Florian Weimer <fweimer@redhat.com> - 2.27-3 |
| - Spec file cleanups: |
| - Remove %%defattr(-,root,root) |
| - Use shell to run ldconfig %%transfiletrigger |
| - Move %%transfiletrigger* to the glibc-common subpackage |
| - Trim changelog |
| - Include ChangeLog.old in the source RPM |
| |
| * Wed Feb 7 2018 Florian Weimer <fweimer@redhat.com> - 2.27-2.1 |
| - Linux: use reserved name __key in pkey_get ( |
| - Auto-sync with upstream branch release/2.27/master, |
| commit 56170e064e2b21ce204f0817733e92f1730541ea. |
| |
| * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> |
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
| |
| * Mon Feb 05 2018 Carlos O'Donell <carlos@redhat.com> - 2.27-1 |
| - Update to released glibc 2.27. |
| - Auto-sync with upstream branch master, |
| commit 23158b08a0908f381459f273a984c6fd328363cb. |
| |
| * Tue Jan 30 2018 Richard W.M. Jones <rjones@redhat.com> - 2.26.9000-52 |
| - Disable -fstack-clash-protection on riscv64: |
| not supported even by GCC 7.3.1 on this architecture. |
| |
| * Mon Jan 29 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-51 |
| - Explicitly run ldconfig in the buildroot |
| - Do not run ldconfig from scriptlets |
| - Put triggers into the glibc-common package, do not pass arguments to ldconfig |
| |
| * Mon Jan 29 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-50 |
| - Auto-sync with upstream branch master, |
| commit cdd14619a713ab41e26ba700add4880604324dbb: |
| - libnsl: Turn remaining symbols into compat symbols (swbz |
| - be_BY, be_BY@latin, lt_LT, el_CY, el_GR, ru_RU, ru_UA, uk_UA: |
| Add alternative month names (swbz |
| - x86: Revert Intel CET changes to __jmp_buf_tag (swbz |
| - aarch64: Revert the change of the __reserved member of mcontext_t |
| |
| * Mon Jan 29 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.26.9000-49 |
| - Add file triggers to do ldconfig calls automatically |
| |
| * Mon Jan 22 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-48 |
| - Auto-sync with upstream branch master, |
| commit 21c0696cdef617517de6e25711958c40455c554f: |
| - locale: Implement alternative month names (swbz |
| - locale: Change month names for pl_PL (swbz |
| |
| * Mon Jan 22 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-47 |
| - Unconditionally build without libcrypt |
| |
| * Fri Jan 19 2018 Björn Esser <besser82@fedoraproject.org> - 2.26.9000-46 |
| - Remove deprecated libcrypt, gets replaced by libxcrypt |
| - Add applicable Requires on libxcrypt |
| |
| * Fri Jan 19 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-45 |
| - Drop static PIE support on aarch64. It leads to crashes at run time. |
| - Remove glibc-rpcgen subpackage. See rpcsvc-proto. ( |
| |
| * Fri Jan 19 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-44 |
| - Correct the list of static PIE architectures ( |
| - glibc_post_upgrade: Remove process restart logic |
| - glibc_post_upgrade: Integrate into the build process |
| - glibc_post_upgrade: Do not clean up tls subdirectories |
| - glibc_post_upgrade: Drop ia64 support |
| - Remove architecture-specific symbolic link for iconvconfig |
| - Auto-sync with upstream branch master, |
| commit 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269: |
| - powerpc: Fix syscalls during early process initialization (swbz |
| |
| * Fri Jan 19 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-43 |
| - Enable static PIE support on i386, x86_64 ( |
| - Remove add-on support (already gone upstream) |
| - Rework test suite status reporting |
| - Auto-sync with upstream branch master, |
| commit 64f63cb4583ecc1ba16c7253aacc192b6d088511: |
| - malloc: Fix integer overflows in memalign and malloc functions (swbz |
| - x86-64: Properly align La_x86_64_retval to VEC_SIZE (swbz |
| - aarch64: Update bits/hwcap.h for Linux 4.15 |
| - Add NT_ARM_SVE to elf.h |
| |
| * Wed Jan 17 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-42 |
| - CVE-2017-14062, CVE-2016-6261, CVE-2016-6263: |
| Use libidn2 for IDNA support ( |
| |
| * Mon Jan 15 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-41 |
| - CVE-2018-1000001: Make getcwd fail if it cannot obtain an absolute path |
| ( |
| - elf: Synchronize DF_1_* flags with binutils ( |
| - Auto-sync with upstream branch master, |
| commit 860b0240a5645edd6490161de3f8d1d1f2786025: |
| - aarch64: fix static pie enabled libc when main is in a shared library |
| - malloc: Ensure that the consolidated fast chunk has a sane size |
| |
| * Fri Jan 12 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-40 |
| - libnsl: Do not install libnsl.so, libnsl.a ( |
| - Use unversioned Supplements: for langpacks ( |
| - Auto-sync with upstream branch master, |
| commit 9a08a366a7e7ddffe62113a9ffe5e50605ea0924: |
| - hu_HU locale: Avoid double space (swbz |
| - math: Make default libc_feholdsetround_noex_ctx use __feholdexcept |
| (swbz |
| |
| * Thu Jan 11 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-39 |
| - nptl: Open libgcc.so with RTLD_NOW during pthread_cancel ( |
| - Introduce libnsl subpackage and remove NIS headers ( |
| - Use versioned Obsoletes: for libcrypt-nss. |
| - Auto-sync with upstream branch master, |
| commit 08c6e95234c60a5c2f37532d1111acf084f39345: |
| - nptl: Add tst-minstack-cancel, tst-minstack-exit (swbz |
| - math: ldbl-128ibm log1pl (-qNaN) spurious "invalid" exception (swbz |
| |
| * Wed Jan 10 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-38 |
| - nptl: Fix stack guard size accounting ( |
| - Remove invalid Obsoletes: on glibc-header provides |
| - Require python3 instead of python during builds |
| - Auto-sync with upstream branch master, |
| commit 09085ede12fb9650f286bdcd805609ae69f80618: |
| - math: ldbl-128ibm lrintl/lroundl missing "invalid" exceptions (swbz |
| - x86-64: Add sincosf with vector FMA |
| |
| * Mon Jan 8 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-37 |
| - Add glibc-rpcgen subpackage, until the replacement is packaged ( |
| |
| * Mon Jan 08 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-36 |
| - Auto-sync with upstream branch master, |
| commit 579396ee082565ab5f42ff166a264891223b7b82: |
| - nptl: Add test for callee-saved register restore in pthread_exit |
| - getrlimit64: fix for 32-bit configurations with default version >= 2.2 |
| - elf: Add linux-4.15 VDSO hash for RISC-V |
| - elf: Add RISC-V dynamic relocations to elf.h |
| - powerpc: Fix error message during relocation overflow |
| - prlimit: Replace old_rlimit RLIM64_INFINITY with RLIM_INFINITY (swbz |
| |
| * Fri Jan 05 2018 Florian Weimer <fweimer@redhat.com> - 2.26.9000-35 |
| - Remove sln ( |
| - Remove Sun RPC interfaces ( |
| - Rebuild with newer GCC to fix pthread_exit stack unwinding issue ( |
| - Auto-sync with upstream branch master, |
| commit f1a844ac6389ea4e111afc019323ca982b5b027d: |
| - CVE-2017-16997: elf: Check for empty tokens before DST expansion ( |
| - i386: In makecontext, align the stack before calling exit (swbz |
| - x86, armhfp: sync sys/ptrace.h with Linux 4.15 (swbz |
| - elf: check for rpath emptiness before making a copy of it |
| - elf: remove redundant is_path argument |
| - elf: remove redundant code from is_dst |
| - elf: remove redundant code from _dl_dst_substitute |
| - scandir: fix wrong assumption about errno (swbz |
| - Deprecate external use of libio.h and _G_config.h |
| |
| * Fri Dec 22 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-34 |
| - Auto-sync with upstream branch master, |
| commit bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f: |
| - copy_file_range: New function to copy file data |
| - nptl: Consolidate pthread_{timed,try}join{_np} |
| - nptl: Implement pthread_self in libc.so (swbz |
| - math: Provide a C++ version of iseqsig (swbz |
| - elf: remove redundant __libc_enable_secure check from fillin_rpath |
| - math: Avoid signed shift overflow in pow (swbz |
| - x86: Add feature_1 to tcbhead_t (swbz |
| - x86: Update cancel_jmp_buf to match __jmp_buf_tag (swbz |
| - ld.so: Examine GLRO to detect inactive loader (swbz |
| - nscd: Fix nscd readlink argument aliasing (swbz |
| - elf: do not substitute dst in $LD_LIBRARY_PATH twice (swbz |
| - ldconfig: set LC_COLLATE to C (swbz |
| - math: New generic sincosf |
| - powerpc: st{r,p}cpy optimization for aligned strings |
| - CVE-2017-1000409: Count in expanded path in _dl_init_path ( |
| - CVE-2017-1000408: Compute correct array size in _dl_init_paths ( |
| - x86-64: Remove sysdeps/x86_64/fpu/s_cosf.S |
| - aarch64: Improve strcmp unaligned performance |
| |
| * Wed Dec 13 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-33 |
| - Remove power6 platform directory ( |
| |
| * Wed Dec 13 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-32 |
| - Obsolete the libcrypt-nss subpackage ( |
| - armhfp: Disable -fstack-clash-protection due to GCC bug ( |
| - ppc64: Disable power6 multilib due to GCC bug ( |
| - Auto-sync with upstream branch master, |
| commit 243b63337c2c02f30ec3a988ecc44bc0f6ffa0ad: |
| - libio: Free backup area when it not required (swbz |
| - math: Fix nextafter and nexttoward declaration (swbz |
| - math: New generic cosf |
| - powerpc: POWER8 memcpy optimization for cached memory |
| - x86-64: Add sinf with FMA |
| - x86-64: Remove sysdeps/x86_64/fpu/s_sinf.S |
| - math: Fix ctanh (0 + i NaN), ctanh (0 + i Inf) (swbz |
| - lt_LT locale: Base collation on copy "iso14651_t1" (swbz |
| - math: Add _Float32 function aliases |
| - math: Make cacosh (0 + iNaN) return NaN + i pi/2 (swbz |
| - hsb_DE locale: Base collation on copy "iso14651_t1" (swbz |
| |
| * Wed Dec 06 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-31 |
| - Add elision tunables. Drop related configure flag. ( |
| - Auto-sync with upstream branch master, |
| commit 37ac8e635a29810318f6d79902102e2e96b2b5bf: |
| - Linux: Implement interfaces for memory protection keys |
| - math: Add _Float64, _Float32x function aliases |
| - math: Use sign as double for reduced case in sinf |
| - math: fix sinf(NAN) |
| - math: s_sinf.c: Replace floor with simple casts |
| - et_EE locale: Base collation on iso14651_t1 (swbz |
| - tr_TR locale: Base collation on iso14651_t1 (swbz |
| - hr_HR locale: Avoid single code points for digraphs in LC_TIME (swbz |
| - S390: Fix backtrace in vdso functions |
| |
| * Mon Dec 04 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-30 |
| - Add build dependency on bison |
| - Auto-sync with upstream branch master, |
| commit 7863a7118112fe502e8020a0db0fa74fef281f29: |
| - math: New generic sinf (swbz |
| - is_IS locale: Base collation on iso14651_t1 (swbz |
| - intl: Improve reproducibility by using bison (swbz |
| - sr_RS, bs_BA locales: make collation rules the same as for hr_HR (wbz |
| - hr_HR locale: various updates (swbz |
| - x86: Make a space in jmpbuf for shadow stack pointer |
| - CVE-2017-17426: malloc: Fix integer overflow in tcache (swbz |
| - locale: make forward accent sorting the default in collating (swbz |
| |
| * Wed Nov 29 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-29 |
| - Enable -fstack-clash-protection ( |
| - Auto-sync with upstream branch master, |
| commit a55430cb0e261834ce7a4e118dd9e0f2b7fb14bc: |
| - elf: Properly compute offsets of note descriptor and next note (swbz |
| - cs_CZ locale: Base collation on iso14651_t1 (swbz |
| - Implement the mlock2 function |
| - Add _Float64x function aliases |
| - elf: Consolidate link map sorting |
| - pl_PL locale: Base collation on iso14651_t1 (swbz |
| - nss: Export nscd hash function as __nss_hash (swbz |
| |
| * Thu Nov 23 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-28 |
| - Auto-sync with upstream branch master, |
| commit cccb6d4e87053ed63c74aee063fa84eb63ebf7b8: |
| - sigwait can fail with EINTR ( |
| - Add memfd_create function |
| - resolv: Fix p_secstodate overflow handling (swbz |
| - resolv: Obsolete p_secstodate |
| - Avoid use of strlen in getlogin_r (swbz |
| - lv_LV locale: fix collation (swbz |
| - S390: Add cfi information for start routines in order to stop unwinding |
| - aarch64: Optimized memset for falkor |
| |
| * Sun Nov 19 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-27 |
| - Auto-sync with upstream branch master, |
| commit f6e965ee94b37289f64ecd3253021541f7c214c3: |
| - powerpc: AT_HWCAP2 bit PPC_FEATURE2_HTM_NO_SUSPEND |
| - aarch64: Add HWCAP_DCPOP bit |
| - ttyname, ttyname_r: Don't bail prematurely (swbz |
| - signal: Optimize sigrelse implementation |
| - inet: Check length of ifname in if_nametoindex (swbz |
| - malloc: Account for all heaps in an arena in malloc_info (swbz |
| - malloc: Add missing arena lock in malloc_info (swbz |
| - malloc: Use __builtin_tgmath in tgmath.h with GCC 8 (swbz |
| - locale: Replaced unicode sequences in the ASCII printable range |
| - resolv: More precise checks in res_hnok, res_dnok (swbz |
| - resolv: ns_name_pton should report trailing \ as error (swbz |
| - locale: mfe_MU, miq_NI, an_ES, kab_DZ, om_ET: Escape / in d_fmt (swbz |
| |
| * Tue Nov 07 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-26 |
| - Auto-sync with upstream branch master, |
| commit 6b86036452b9ac47b4ee7789a50f2f37df7ecc4f: |
| - CVE-2017-15804: glob: Fix buffer overflow during GLOB_TILDE unescaping |
| - powerpc: Use latest string function optimization for internal function calls |
| - math: No _Float128 support for ppc64le -mlong-double-64 (swbz |
| - tpi_PG locale: Fix wrong d_fmt |
| - aarch64: Disable lazy symbol binding of TLSDESC |
| - tpi_PG locale: fix syntax error (swbz |
| - i586: Use conditional branches in strcpy.S (swbz |
| - ffsl, ffsll: Declare under __USE_MISC, not just __USE_GNU |
| - csb_PL locale: Fix abmon/mon for March (swbz |
| - locale: Various yesstr/nostr/yesexpr/noexpr fixes (swbz |
| - localedef: Add --no-warnings/--warnings option |
| - powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmove |
| - locale: Use ASCII as much as possible in LC_MESSAGES |
| - Add new locale yuw_PG (swbz |
| - malloc: Add single-threaded path to malloc/realloc/calloc/memalloc |
| - i386: Replace assembly versions of e_powf with generic e_powf.c |
| - i386: Replace assembly versions of e_log2f with generic e_log2f.c |
| - x86-64: Add powf with FMA |
| - x86-64: Add logf with FMA |
| - i386: Replace assembly versions of e_logf with generic e_logf.c |
| - i386: Replace assembly versions of e_exp2f with generic e_exp2f.c |
| - x86-64: Add exp2f with FMA |
| - i386: Replace assembly versions of e_expf with generic e_expf.c |
| |
| * Sat Oct 21 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-25 |
| - Auto-sync with upstream branch master, |
| commit 797ba44ba27521261f94cc521f1c2ca74f650147: |
| - math: Add bits/floatn.h defines for more _FloatN / _FloatNx types |
| - posix: Fix improper assert in Linux posix_spawn (swbz |
| - x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve (swbz |
| - CVE-2017-15670: glob: Fix one-byte overflow ( |
| - malloc: Add single-threaded path to _int_free |
| - locale: Add new locale kab_DZ (swbz |
| - locale: Add new locale shn_MM (swbz |
| |
| * Fri Oct 20 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-24 |
| - Use make -O to serialize make output |
| - Auto-sync with upstream branch master, |
| commit 63b4baa44e8d22501c433c4093aa3310f91b6aa2: |
| - sysconf: Fix missing definition of UIO_MAXIOV on Linux ( |
| - Install correct bits/long-double.h for MIPS64 (swbz |
| - malloc: Fix deadlock in _int_free consistency check |
| - x86-64: Don't set GLRO(dl_platform) to NULL (swbz |
| - math: Add _Float128 function aliases |
| - locale: Add new locale mjw_IN (swbz |
| - aarch64: Rewrite elf_machine_load_address using _DYNAMIC symbol |
| - powerpc: fix check-before-set in SET_RESTORE_ROUND |
| - locale: Use U+202F as thousands separators in pl_PL locale (swbz |
| - math: Use __f128 to define FLT128_* constants in include/float.h for old GCC |
| - malloc: Improve malloc initialization sequence (swbz |
| - malloc: Use relaxed atomics for malloc have_fastchunks |
| - locale: New locale ca_ES@valencia (swbz |
| - math: Let signbit use the builtin in C++ mode with gcc < 6.x (swbz |
| - locale: Place monetary symbol in el_GR, el_CY after the amount (swbz |
| |
| * Tue Oct 17 2017 Florian Weimer <fweimer@redhat.com> - 2.26.9000-23 |
| - Switch to .9000 version numbers during development |
| |
| * Tue Oct 17 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-22 |
| - Auto-sync with upstream branch master, |
| commit c38a4bfd596db2be2b9c1f96715bdc833eab760a: |
| - malloc: Use compat_symbol_reference in libmcheck (swbz |
| |
| * Mon Oct 16 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-21 |
| - Auto-sync with upstream branch master, |
| commit 596f70134a8f11967c65c1d55a94a3a2718c731d: |
| - Silence -O3 -Wall warning in malloc/hooks.c with GCC 7 (swbz |
| - locale: No warning for non-symbolic character (swbz |
| - locale: Allow "" int_curr_Symbol (swbz |
| - locale: Fix localedef exit code (swbz |
| - nptl: Preserve error in setxid thread broadcast in coredumps (swbz |
| - powerpc: Avoid putting floating point values in memory (swbz |
| - powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7 (swbz |
| - Support profiling PIE (swbz |
| |
| * Wed Oct 11 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-20 |
| - Auto-sync with upstream branch master, |
| commit d8425e116cdd954fea0c04c0f406179b5daebbb3: |
| - nss_files performance issue in multi mode (swbz |
| - Ensure C99 and C11 interfaces are available for C++ (swbz |
| |
| * Mon Oct 09 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-19 |
| - Move /var/db/Makefile to nss_db ( |
| - Auto-sync with upstream branch master, |
| commit 645ac9aaf89e3311949828546df6334322f48933: |
| - openpty: use TIOCGPTPEER to open slave side fd |
| |
| * Fri Oct 06 2017 Carlos O'Donell <carlos@systemhalted.org> - 2.26.90-18 |
| - Auto-sync with upstream master, |
| commit 1e26d35193efbb29239c710a4c46a64708643320. |
| - malloc: Fix tcache leak after thread destruction (swbz |
| - powerpc: Fix IFUNC for memrchr. |
| - aarch64: Optimized implementation of memmove for Qualcomm Falkor |
| - Always do locking when iterating over list of streams (swbz |
| - abort: Do not flush stdio streams (swbz |
| |
| * Wed Oct 04 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-17 |
| - Move nss_compat to the main glibc package ( |
| - Auto-sync with upstream master, |
| commit 11c4f5010c58029e73e656d5df4f8f42c9b8e877: |
| - crypt: Use NSPR header files in addition to NSS header files ( |
| - math: Fix yn(n,0) without SVID wrapper (swbz |
| - math: Fix log2(0) and log(10) in downward rounding (swbz |
| - math: Add C++ versions of iscanonical for ldbl-96, ldbl-128ibm (swbz |
| - powerpc: Optimize memrchr for power8 |
| - Hide various internal functions (swbz |
| |
| * Sat Sep 30 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-16 |
| - Auto-sync with upstream master, |
| commit 1e2bffd05c36a9be30d7092d6593a9e9aa009ada: |
| - Add IBM858 charset ( |
| - Update kernel version in syscall-names.list to 4.13 |
| - Add Linux 4.13 constants to bits/fcntl-linux.h |
| - Add fcntl sealing interfaces from Linux 3.17 to bits/fcntl-linux.h |
| - math: New generic powf, log2f, logf |
| - Fix nearbyint arithmetic moved before feholdexcept (swbz |
| - Mark __dso_handle as hidden (swbz |
| - Skip PT_DYNAMIC segment with p_filesz == 0 (swbz |
| - glob now matches dangling symbolic links (swbz |
| - nscd: Release read lock after resetting timeout (swbz |
| - Avoid __MATH_TG in C++ mode with -Os for fpclassify (swbz |
| - Fix dlclose/exit race (swbz |
| - x86: Add SSE4.1 trunc, truncf (swbz |
| - Fix atexit/exit race (swbz |
| - Use execveat syscall in fexecve (swbz |
| - Enable unwind info in libc-start.c and backtrace.c |
| - powerpc: Avoid misaligned stores in memset |
| - powerpc: build some IFUNC math functions for libc and libm (swbz |
| - Removed redundant data (LC_TIME and LC_MESSAGES) for niu_NZ (swbz |
| - Fix LC_TELEPHONE for az_AZ (swbz |
| - x86: Add MathVec_Prefer_No_AVX512 to cpu-features (swbz |
| - x86: Add x86_64 to x86-64 HWCAP (swbz |
| - Finish change from “Bengali” to “Bangla” (swbz |
| - posix: fix glob bugs with long login names (swbz |
| - posix: Fix getpwnam_r usage (swbz |
| - posix: accept inode 0 is a valid inode number (swbz |
| - Remove redundant LC_TIME data in om_KE (swbz |
| - Remove remaining _HAVE_STRING_ARCH_* definitions (swbz |
| - resolv: Fix memory leak with OOM during resolv.conf parsing (swbz |
| - Add miq_NI locale for Miskito (swbz |
| - Fix bits/math-finite.h exp10 condition (swbz |
| |
| * Mon Sep 04 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-15 |
| - Auto-sync with upstream master, |
| commit b38042f51430974642616a60afbbf96fd0b98659: |
| - Implement tmpfile with O_TMPFILE (swbz |
| - Obsolete pow10 functions |
| - math.h: Warn about an already-defined log macro |
| |
| * Fri Sep 01 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-14 |
| - Build glibc with -O2 (following the upstream default). |
| - Auto-sync with upstream master, |
| commit f4a6be2582b8dfe8adfa68da3dd8decf566b3983: |
| - malloc: Abort on heap corruption, without a backtrace (swbz |
| - getaddrinfo: Return EAI_NODATA for gethostbyname2_r with NO_DATA (swbz |
| - getaddrinfo: Fix error handling in gethosts (swbz |
| - Place $(elf-objpfx)sofini.os last (swbz |
| - Various locale fixes (swbz |
| |
| * Wed Aug 30 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-13 |
| - Drop glibc-rh952799.patch, applied upstream ( |
| - Auto-sync with upstream master, |
| commit 5f9409b787c5758fc277f8d1baf7478b752b775d: |
| - Various locale fixes (swbz |
| swbz |
| - MIPS/o32: Fix internal_syscall5/6/7 (swbz |
| - AArch64: Fix procfs.h not to expose stdint.h types |
| - iconv_open: Fix heap corruption on gconv_init failure (swbz |
| - iconv: Mangle __btowc_fct even without __init_fct (swbz |
| - Fix bits/math-finite.h _MSUF_ expansion namespace (swbz |
| - Provide a C++ version of iszero that does not use __MATH_TG (swbz |
| |
| * Mon Aug 28 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-12 |
| - Auto-sync with upstream master, |
| commit 2dba5ce7b8115d6a2789bf279892263621088e74. |
| |
| * Fri Aug 25 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-11 |
| - Auto-sync with upstream master, |
| commit 3d7b66f66cb223e899a7ebc0f4c20f13e711c9e0: |
| - string/stratcliff.c: Replace int with size_t (swbz |
| - Fix tgmath.h handling of complex integers (swbz |
| |
| * Thu Aug 24 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-10 |
| - Use an architecture-independent system call list ( |
| - Drop glibc-fedora-include-bits-ldbl.patch ( |
| |
| * Tue Aug 22 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-9 |
| - Auto-sync with upstream master, |
| commit 80f91666fed71fa3dd5eb5618739147cc731bc89. |
| |
| * Mon Aug 21 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-8 |
| - Auto-sync with upstream master, |
| commit a8410a5fc9305c316633a5a3033f3927b759be35: |
| - Obsolete matherr, _LIB_VERSION, libieee.a. |
| |
| * Mon Aug 21 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-7 |
| - Auto-sync with upstream master, |
| commit 4504783c0f65b7074204c6126c6255ed89d6594e. |
| |
| * Mon Aug 21 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-6 |
| - Auto-sync with upstream master, |
| commit b5889d25e9bf944a89fdd7bcabf3b6c6f6bb6f7c: |
| - assert: Support types without operator== (int) ( |
| |
| * Mon Aug 21 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-5 |
| - Auto-sync with upstream master, |
| commit 2585d7b839559e665d5723734862fbe62264b25d: |
| - Do not use generic selection in C++ mode |
| - Do not use __builtin_types_compatible_p in C++ mode ( |
| - x86-64: Check FMA_Usable in ifunc-mathvec-avx2.h (swbz |
| - Various locale fixes (swbz |
| - Fix sigval namespace (swbz |
| - x86-64: Optimize e_expf with FMA (swbz |
| - Adjust glibc-rh827510.patch. |
| |
| * Wed Aug 16 2017 Tomasz Kłoczko <kloczek@fedoraproject.org> - 2.26-4 |
| - Remove 'Buildroot' tag, 'Group' tag, and '%%clean' section, and don't |
| remove the buildroot in '%%install', all per Fedora Packaging Guidelines |
| ( |
| |
| * Wed Aug 16 2017 Florian Weimer <fweimer@redhat.com> - 2.26.90-3 |
| - Auto-sync with upstream master, |
| commit 403143e1df85dadd374f304bd891be0cd7573e3b: |
| - x86-64: Align L(SP_RANGE)/L(SP_INF_0) to 8 bytes (swbz |
| - powerpc: Add values from Linux 4.8 to <elf.h> |
| - S390: Add new s390 platform z14. |
| - Various locale fixes (swbz |
| swbz |
| swbz |
| - NSS: Replace exported NSS lookup functions with stubs (swbz |
| - i386: Do not set internal_function |
| - assert: Suppress pedantic warning caused by statement expression (swbz |
| - powerpc: Restrict xssqrtqp operands to Vector Registers (swbz |
| - sys/ptrace.h: remove obsolete PTRACE_SEIZE_DEVEL constant (swbz |
| - Remove __qaddr_t, __long_double_t |
| - Fix uc_* namespace (swbz |
| - nss: Call __resolv_context_put before early return in get*_r (swbz |
| - aarch64: Optimized memcpy for Qualcomm Falkor processor |
| - manual: Document getcontext uc_stack value on Linux (swbz |
| - i386: Add <startup.h> (swbz |
| - Don't use IFUNC resolver for longjmp or system in libpthread (swbz |
| - Fix XPG4.2 bits/sigaction.h namespace (swbz |
| - x86-64: Add FMA multiarch functions to libm |
| - i386: Support static PIE in start.S |
| - Compile tst-prelink.c without PIE (swbz |
| - x86-64: Use _dl_runtime_resolve_opt only with AVX512F (swbz |
| - x86: Remove __memset_zero_constant_len_parameter (swbz |
| |
| * Wed Aug 16 2017 Florian Weimer <fweimer@redhat.com> - 2.26-2 |
| - Disable multi-arch (IFUNC string functions) on i686 ( |
| - Remove nosegneg 32-bit Xen PV support libraries ( |
| - Adjust spec file to RPM changes |
| |
| * Thu Aug 03 2017 Carlos O'Donell <carlos@systemhalted.org> - 2.26-1 |
| - Update to released glibc 2.26. |
| - Auto-sync with upstream master, |
| commit 2aad4b04ad7b17a2e6b0e66d2cb4bc559376617b. |
| - getaddrinfo: Release resolver context on error in gethosts (swbz |