2 # spec file for package glibc
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 # Copyright (c) 2021 Samsung Electronics Co. Ltd.
7 # All modifications and additions to the file contributed by third parties
8 # remain the property of their copyright owners, unless otherwise agreed
9 # upon. The license for this file, and modifications and additions to the
10 # file, is the same license as for the pristine package itself (unless the
11 # license for the pristine package is not an Open Source License, in which
12 # case the license is the MIT License). An "Open Source License" is a
13 # license that conforms to the Open Source Definition (Version 1.9)
14 # published by the Open Source Initiative.
17 %define glibc_run_tests 1
20 # Enable this when testing on device to:
21 # 1. Enable macro to turn on testsuite building ('glibc_run_tests 1')
22 # 2. Keep 'build/' folder in build stage as we do not want to rebuild all
23 # glibc again on device after invoking rpmbuild --short-circuit -bc ...
24 # 3. Skip configure and make commands and go directly to 'make check'
25 %if 0%{?run_tests_on_device}
26 %define glibc_run_tests 1
27 %define glibc_keep_build_dir 1
28 %define glibc_skip_configure 1
29 %define glibc_skip_make 1
32 # Exit right after 'make ..' step to keep all object files produced by glibc build
33 %if 0%{?exit_on_make_finish}
34 %define glibc_exit_on_make_finish 1
37 %if 0%{?dump_configure}
38 %define glibc_dump_configure 1
41 # Prepare separate ld.so for qemu-accel
42 %define qemu_accel_arch x86_64 %ix86
44 %ifarch %qemu_accel_arch
45 %define glibc_build_qemu_accel_ld_so 1
46 # default path in qemu
47 %define emul_path /emul
50 # This will avoid building some parts of glibc
51 %define asan_arch x86_64 armv7l aarch64
52 %define hwasan_arch aarch64
53 %bcond_with fast_build
55 Summary: Standard Shared Libraries (from the GNU C Library)
56 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
59 BuildRequires: makeinfo
61 BuildRequires: gcc-c++
62 BuildRequires: gettext-tools
63 BuildRequires: libstdc++-devel
65 BuildRequires: python3-base
68 #BuildRequires: python
69 BuildRequires: glibc-devel-static
72 %if 0%{?glibc_dump_configure}
73 BuildRequires: configure-dumper
75 #BuildRequires: pkgconfig(systemd)
76 %define _filter_GLIBC_PRIVATE 1
77 %if %_target_cpu == "i686"
78 # For i686 let's only build what's different from i586, so
79 # no need to build documentation
80 %define build_profile 1
81 %define build_locales 0
84 %if %{with fast_build}
85 %define build_profile 0
86 %define build_locales 0
90 %define build_profile 1
91 %define build_locales 0
96 %define disable_assert 0
97 %define enable_stackguard_randomization 1
98 %define multiarcharches %{ix86} x86_64
101 %define enablekernel 2.6.16
103 %define enablekernel 2.6.16
105 Conflicts: kernel < %{enablekernel}
106 %ifarch armv7l armv7hl
107 # The old runtime linker link gets not provided by rpm find.provides, but it exists
108 Provides: ld-linux.so.3
109 Provides: ld-linux.so.3(GLIBC_2.4)
113 %define glibc_major_version %{version}
114 %define git_id 0a8262a1b2
116 Url: http://www.gnu.org/software/libc/libc.html
117 Source: glibc-%{version}.tar.xz
118 Source5: nsswitch.conf
119 Source7: bindresvport.blacklist
120 Source8: glibc_post_upgrade.c
121 Source9: glibc.rpmlintrc
122 Source10: baselibs.conf
124 Source1001: glibc.manifest
126 Requires(pre): filesystem
127 Provides: rtld(GNU_HASH)
130 The GNU C Library provides the most important standard libraries used
131 by nearly all programs: the standard C library, the standard math
132 library, and the POSIX thread library. A system is not functional
133 without these libraries.
136 Summary: Info Files for the GNU C Library
142 This package contains the documentation for the GNU C library stored as
143 info files. Due to a lack of resources, this documentation is not
144 complete and is partially out of date.
147 Summary: HTML Documentation for the GNU C Library
153 This package contains the HTML documentation for the GNU C library. Due
154 to a lack of resources, this documentation is not complete and is
155 partially out of date.
158 Summary: Database Sources for 'locale'
159 License: GPL-2.0+ and MIT
160 Group: Base/Libraries
163 %description i18ndata
164 This package contains the data needed to build the locale data files to
165 use the internationalization features of the GNU libc. It is normally
166 not necessary to install this packages, the data files are already
170 Summary: Locale Data for Localized Programs
171 License: GPL-2.0+ and MIT and LGPL-2.1+
172 Requires(post): /usr/bin/cat
173 Requires: glibc = %{version}
175 Locale data for the internationalisation features of the GNU C library.
178 Summary: Libc Profiling and Debugging Versions
179 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
180 Group: Base/Utilities
181 Requires: glibc = %{version}
184 This package contains special versions of the GNU C library which are
185 necessary for profiling and debugging.
188 Summary: Include Files and Libraries Mandatory for Development
189 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
190 Requires: glibc = %{version}
191 Requires: linux-kernel-headers
193 # Currently needed for correct install order to enable patching statx.h on aarch64
197 These libraries are needed to develop programs which use the standard C
200 %package devel-static
201 Summary: C library static libraries for -static linking
202 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
203 Requires: %{name}-devel = %{version}
204 # Provide Fedora name for package to make packaging easier
205 Provides: %{name}-static = %version
207 %description devel-static
208 The glibc-devel-static package contains the C library static libraries
209 for -static linking. You don't need these, unless you link statically,
210 which is highly discouraged.
213 Summary: Development utilities from GNU C library
215 Requires: glibc = %{version}
217 %description devel-utils
218 The glibc-devel-utils package contains various binaries which can be helpful during program
221 If you are unsure if you need this, don't install this package.
224 Summary: Extra binaries from GNU C Library
226 Requires: glibc = %{version}
229 The glibc-extra package contains some extra binaries for glibc that
230 are not essential but recommend to use.
232 makedb: A program to create a database for nss
235 Summary: Obsolete Shared Libraries from the GNU C Library
237 Requires: glibc = %{version}
239 %description obsolete
240 This package provides some old libraries from the GNU C Library which
241 are no longer supported. Additional it provides a compatibility library
242 for old binaries linked against glibc 2.0.
244 Install this package if you need one of this libraries to get old
245 binaries working, but since this libraries are not supported and there
246 is no gurantee that they work for you, you should try to get newer
247 versions of your software.
250 Summary: Testsuite results
252 Group: Development/Languages
253 %description testresults
254 Results from running the glibc testsuites.
259 Summary: glibc with ASan instrumentation
260 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
261 Requires: glibc = %{version}
265 This package provides glibc with ASan instrumentation
268 ln -s --force /%{_lib}/libc-%{version}-asan.so /%{_lib}/libc.so.6
271 ln -s --force /%{_lib}/libc-%{version}.so /%{_lib}/libc.so.6
279 Summary: glibc with Hwasan instrumentation
280 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
281 Requires: glibc = %{version}
285 This package provides glibc with Hwasan instrumentation
288 ln -s --force /%{_lib}/libc-%{version}-hwasan.so /%{_lib}/libc.so.6
291 ln -s --force /%{_lib}/libc-%{version}.so /%{_lib}/libc.so.6
296 %{?glibc_dump_configure:
297 %package configure-dump
298 Summary: GNU Glibc configure dump
300 Group: Development/Languages
301 %description configure-dump
302 This package contains dump of configure variables of Glibc
305 %{?glibc_build_qemu_accel_ld_so:
307 Summary: ld.so file for qemu-accel
309 Group: Development/Languages
310 %description accel-ldso
311 This package contains an ld.so configured to run from /emul directory
315 %setup -n glibc-%{version} -q
319 %{?asan:%gcc_unforce_options}
320 %{?hwasan:%gcc_unforce_options}
321 if [ -x /bin/uname.bin ]; then
329 # We do not want configure to figure out the system its building one
330 # to support a common ground and thus set build and host to the
333 %define target %{_target_cpu}-tizen-linux-gnueabi
335 %define target %{_target_cpu}-tizen-linux
337 # Don't use as-needed, it breaks glibc assumptions
338 # Before enabling it, run the testsuite and verify that it
340 export LD_AS_NEEDED=0
341 # Adjust glibc version.h
342 echo "#define CONFHOST \"%{target}\"" >> version.h
343 echo "#define GITID \"%{git_id}\"" >> version.h
345 # Default CFLAGS and Compiler
347 BuildFlags=$(echo %{optflags} | sed -e "s/-Wp,-D_FORTIFY_SOURCE=2//g" | sed -e "s/-ffast-math//" | sed -e "s/atom/i686/g" | sed -e "s/-fexceptions//" | sed -e "s/-fno-omit-frame-pointer//" | sed -e 's/-flto\(=[^[:space:]]\+\)\? //')
348 BuildFlags="$BuildFlags -O2 -g -U_FORTIFY_SOURCE"
349 BuildFlags="$(echo $BuildFlags | sed -e 's#-ffortify=[0-9]*##')"
350 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector-strong##')"
351 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##')"
352 BuildFlags="$(echo $BuildFlags | sed -e 's/-Wa,-mimplicit-it=thumb\(-interwork\)\?//g' | sed -e 's/-mthumb\(-interwork\)\?//g')"
353 # Turn off all -Wformat enable flags as there are glibc tests that explicitly
354 # append -Wno-format and with enabled Wformat options that produced warnings
355 # that turns into errors. Remove -Wformat=1|2 or -Wformat-..-arg
356 BuildFlags="$(echo $BuildFlags | sed -re 's/-Wformat((=[1-2])|((-\w+)+))?(\s|$)//g')"
359 # Support DA build with armv8 cpu in 32bit mode: prevent Werror on sqrt function
360 (echo ${BuildFlags} | grep '\-march=armv8') && BuildFlags="${BuildFlags} -Wno-error=unused-variable"
367 BuildFlags="$BuildFlags -g"
370 # Glibc must have both functions' implementations
371 BuildFlags="$BuildFlags -U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
373 %if %{disable_assert}
374 BuildFlags="$BuildFlags -DNDEBUG=1"
383 # fails to build otherwise - need to recheck and fix
384 %define enable_stackguard_randomization 0
390 %{!?glibc_keep_build_dir:
396 conf_cflags="$BuildFlags -funwind-tables -fPIC"
397 %{?asan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST"}
398 %{?hwasan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST -Wno-error=pragmas"}
399 profile="--disable-profile"
400 %{?build_profile:profile="--enable-profile"}
401 %{?glibc_dump_configure:patch_configure.pl ..}
403 function glibc_configure () {
404 local aux_options=${@:1}
406 CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \
407 CC="$BuildCC" CXX="$BuildCCplus" \
409 --prefix=%{_prefix} \
410 --libexecdir=%{_libexecdir} --infodir=%{_infodir} \
412 --libdir=%{_libdir} \
414 --enable-add-ons=$add_ons \
416 --enable-kernel=%{enablekernel} \
419 --disable-experimental-malloc \
420 libc_cv_cc_pie_default=yes \
422 libc_cv_slibdir="/%{_lib}" \
423 libc_cv_complocaledir="%{_prefix}/lib/locale" \
425 %if %{enable_stackguard_randomization}
426 --enable-stackguard-randomization \
428 --build=%{target} --host=%{target} \
429 %ifnarch %{multiarcharches}
430 --disable-multi-arch \
432 %ifarch %{ix86} x86_64
435 %if 0%{?enable_static_pie}
436 --enable-static-pie \
442 %{!?glibc_skip_configure:
448 %{?glibc_dump_configure:
449 dump_configure.pl .. . \
451 --project-version %{version} \
452 --out_db glibc-%{version}-%{release}-%_project-%_repository.db
456 # Build glibc_post_upgrade binary
459 -static %{optflags} -Os \
460 $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
462 '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \
463 '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_libdir}/gconv"'
465 %{!?glibc_keep_build_dir:
469 # Prepare directory for qemu-accel ld.so
470 %{?glibc_build_qemu_accel_ld_so:
471 mkdir "qemu-accel-ldso"
472 pushd "qemu-accel-ldso"
474 echo -e "# Begin configparms\nslibdir=%{emul_path}%{_libdir}\nsysconfdir=%{emul_path}%{_sysconfdir}\n# End configparms" > configparms
475 glibc_configure --sysconfdir=%{emul_path}%{_sysconfdir} libc_cv_slibdir=%{emul_path}%{_libdir} libc_cv_sysconfdir=%{emul_path}%{_sysconfdir}
482 # Build html documentation
485 make %{?_smp_mflags} -C "build" html
489 # Build ASan version of glibc
493 configure_flags="--prefix=/usr --without-cvs --without-selinux --enable-stackguard-randomization --disable-mathvec"
494 configure_flags="$configure_flags --disable-sanity-checks"
496 HERE=%{_builddir}/%{name}-%{version}
499 ASAN_BUILD=$HERE/asan-build
503 %ifarch %{arm} aarch64
504 # Glibc must have both functions' implementations
505 CPPFLAGS="-U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
507 CPPFLAGS+=" -DASAN_INIT_FIRST"
509 # chmod +x $HERE/asan-glibc-gcc-wrapper.py
510 # build static wrapper, because we don't want asan to intercept allocators
511 g++ -o gcc-wrapper gcc-wrapper.cc -O3 -funroll-loops -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -static
516 # Legacy python wrapper call was:
517 # CC=$HERE/asan-glibc-gcc-wrapper.py $GLIBC/configure $configure_flags
519 CC=$HERE/gcc-wrapper $GLIBC/configure $configure_flags
521 # Quick build - builds only libraries, but does not create symlinks.
522 make -r -j $J -C $GLIBC objdir=`pwd` subdir_lib
523 # make -r -j $J -C $GLIBC objdir=`pwd` install_root=$ASAN_INST install-lib
529 %ifarch %{hwasan_arch}
530 configure_flags="--prefix=/usr --without-cvs --without-selinux --enable-stackguard-randomization --disable-mathvec"
531 configure_flags="$configure_flags --disable-sanity-checks"
533 HERE=%{_builddir}/%{name}-%{version}
536 ASAN_BUILD=$HERE/hwasan-build
541 # Glibc must have both functions' implementations
542 CPPFLAGS="-U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
544 CPPFLAGS+=" -DASAN_INIT_FIRST"
546 # chmod +x $HERE/asan-glibc-gcc-wrapper.py
547 # build static wrapper, because we don't want asan to intercept allocators
548 g++ -o gcc-wrapper gcc-wrapper.cc -O3 -funroll-loops -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -static -DHWASAN_BUILD
553 # Legacy python wrapper call was:
554 # CC=$HERE/asan-glibc-gcc-wrapper.py $GLIBC/configure $configure_flags
556 CC=$HERE/gcc-wrapper $GLIBC/configure $configure_flags
558 # Quick build - builds only libraries, but does not create symlinks.
559 make -r -j $J -C $GLIBC objdir=`pwd` subdir_lib
560 # make -r -j $J -C $GLIBC objdir=`pwd` install_root=$ASAN_INST install-lib
565 %{?glibc_exit_on_make_finish:
566 echo "Glibc build is complete and environment is ready, exiting"
574 # #check sections could be redefined/disabled, so keep this inside #build
577 export LD_AS_NEEDED=0
578 (make %{?_smp_mflags} -k -C build check || true) 2>&1 | tee check.log
581 #######################################################################
585 #######################################################################
588 # The testsuite will fail if asneeded is used
589 export LD_AS_NEEDED=0
590 # This has to pass on all platforms!
593 make %{?_smp_mflags} -k -C build check-abi
595 #######################################################################
599 #######################################################################
602 # We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
603 # certainly not from libpthread.so.* because it is used by libthread_db to find
604 # some non-exported symbols in order to detect if threading support
605 # should be enabled. These symbols are _not_ exported, and we can't easily
606 # export them retroactively without changing the ABI. So we have to
607 # continue to "export" them via .symtab, instead of .dynsym :-(
608 # But we also want to keep .symtab and .strtab of other libraries since some
609 # debugging tools currently require these sections directly inside the main
610 # files - specifically valgrind and PurifyPlus.
611 export STRIP_KEEP_SYMTAB=*.so*
613 # Make sure we will create the gconv-modules.cache
614 mkdir -p %{buildroot}%{_libdir}/gconv
615 touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
618 make %{?_smp_mflags} install_root=%{buildroot} install -C build
620 %{?glibc_dump_configure:
621 install -D -m 0644 build/glibc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
626 # XXX Do not install locales in parallel!
628 # localedef creates hardlinks to other locales if possible
629 # this will not work if we generate them in parallel.
630 # thus we need to run fdupes on /usr/lib/locale/
631 # Still, on my system this is a speed advantage:
632 # non-parallel build for install-locales: 9:34mins
633 # parallel build with fdupes: 7:08mins
634 make %{?_smp_mflags} install_root=%{buildroot} localedata/install-locales
635 %fdupes %{buildroot}/usr/lib/locale
639 # Create file list for glibc-locale package
642 # Prepare obsolete/, used only on some architectures:
643 export RPM_BUILD_ROOT
645 mkdir -p %{buildroot}/%{_lib}/obsolete
648 # Prepare symlinks to versioned libraries
649 ln -sf libpthread.so.0 %{buildroot}%{_libdir}/libpthread.so
650 ln -sf libutil.so.1 %{buildroot}%{_libdir}/libutil.so
651 ln -sf librt.so.1 %{buildroot}%{_libdir}/librt.so
652 ln -sf libdl.so.2 %{buildroot}%{_libdir}/libdl.so
653 ln -sf libm.so.6 %{buildroot}%{_libdir}/libm.so
654 ln -sf libresolv.so.2 %{buildroot}%{_libdir}/libresolv.so
658 install -m 0700 build/glibc_post_upgrade %{buildroot}%{_sbindir}
660 install -m 644 %{SOURCE7} %{buildroot}/etc
661 install -m 644 %{SOURCE5} %{buildroot}/etc
662 install -m 644 posix/gai.conf %{buildroot}/etc
664 mkdir -p %{buildroot}/etc/default
667 mkdir -p %{buildroot}%{_datadir}/doc/glibc
668 cp -p build/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
674 cat > %{buildroot}/etc/ld.so.conf <<EOF
675 %if "%{_lib}" == "lib64"
679 include /etc/ld.so.conf.d/*.conf
680 # /lib64, /lib, /usr/lib64 and /usr/lib gets added
681 # automatically by ldconfig after parsing this file.
682 # So, they do not need to be listed.
684 # Add ldconfig cache directory for directory ownership
685 mkdir -p %{buildroot}/var/cache/ldconfig
686 # Empty the ld.so.cache:
687 rm -f %{buildroot}/etc/ld.so.cache
688 touch %{buildroot}/etc/ld.so.cache
690 # Don't look at ldd! We don't wish a /bin/sh requires
691 chmod 644 %{buildroot}%{_bindir}/ldd
693 # Remove timezone data, now coming in standalone package:
694 for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/bin/zdump etc/localtime; do
695 rm -f %{buildroot}/$i
697 rm -rf %{buildroot}%{_datadir}/zoneinfo
700 # Provide compatibility link
701 ln -s ld-linux-armhf.so.3 %{buildroot}/lib/ld-linux.so.3
705 # Provide compatibility link
706 ln -s ld-linux.so.2 %{buildroot}/lib/ld-linux.so
710 # Provide compatibility link
711 mkdir -p %{buildroot}/lib/
712 ln -s %{_libdir}/ld-linux-riscv64-lp64d.so.1 %{buildroot}/lib/ld-linux-riscv64-lp64d.so.1
713 crts="Mcrt1.o Scrt1.o crt1.o crti.o crtn.o gcrt1.o"
714 for crtfile in ${crts}; do
715 ln -sf %{_libdir}/${crtfile} %{buildroot}/lib/${crtfile}
719 # Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
720 mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
721 ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
723 #######################################################################
727 #######################################################################
731 HERE=%{_builddir}/%{name}-%{version}
733 ASAN_BUILD=$HERE/asan-build
734 cp $ASAN_BUILD/libc.so %{buildroot}/%{_lib}/libc-%{version}-asan.so
739 %ifarch %{hwasan_arch}
740 HERE=%{_builddir}/%{name}-%{version}
742 ASAN_BUILD=$HERE/hwasan-build
743 cp $ASAN_BUILD/libc.so %{buildroot}/%{_lib}/libc-%{version}-hwasan.so
750 \( -name "*tests.sum" -o -name "*.out" -o -name "*.test-result" \) \
751 -exec cp --parents {} testresults/ \;
752 find testresults/ -type f -exec chmod 644 {} \;
753 cp check.log testresults/
756 %{?glibc_build_qemu_accel_ld_so:
757 pushd qemu-accel-ldso
758 make -C ../elf objdir=`pwd` install_root=%{buildroot} ldso_install
762 %post -p %{_sbindir}/glibc_post_upgrade
764 %postun -p /sbin/ldconfig
767 for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
768 [ -d "$l.d" ] || continue
769 echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
772 /usr/sbin/iconvconfig
775 %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
778 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
781 # TODO: REMOVE ME AFTER ISSUE IS IDENTIFIED
782 find %{_libdir}/gcc -name 'statx.h' -exec sed -e 's/__glibc_has_include/__has_include/' -i {} \;
785 # TODO: REMOVE ME AFTER ISSUE IS IDENTIFIED
786 find %{_libdir}/gcc -name 'statx.h' -exec sed -e 's/__glibc_has_include/__has_include/' -i {} \;
789 %manifest %{name}.manifest
791 %defattr(-,root,root)
792 %license LICENSES COPYING COPYING.LIB
793 %config(noreplace) /etc/bindresvport.blacklist
794 %config /etc/ld.so.conf
795 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
796 %config(noreplace) /etc/rpc
797 %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
798 %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf
800 # Each architecture has a different name for the dynamic linker:
803 /lib/ld-linux-armhf.so.3
805 # Keep as compatibility link for armv7lh
809 /lib64/ld-linux-x86-64.so.2
818 /lib/ld-linux-aarch64.so.1
821 /lib64/ld-linux-riscv64-lp64d.so.1
822 /lib/ld-linux-riscv64-lp64d.so.1
828 /%{_lib}/libcrypt.so*
832 /%{_lib}/libnss_compat.so.2
833 /%{_lib}/libnss_db.so.2
834 /%{_lib}/libnss_dns.so.2
835 /%{_lib}/libnss_files.so.2
836 /%{_lib}/libnss_optfiles.so.2
837 /%{_lib}/libnss_hesiod.so.2
838 /%{_lib}/libpthread.so*
839 /%{_lib}/libthread_db.so.1
840 /%{_lib}/libresolv.so.2
843 /%{_lib}/libc_malloc_debug.so.0
844 %define optimized_libs() \
845 %dir %attr(0755,root,root) /%{_lib}/%1\
846 /%{_lib}/%1/libc.so.6*\
847 /%{_lib}/%1/libm.so.6*\
848 /%{_lib}/%1/libpthread.so*\
849 /%{_lib}/%1/librt.so.1\
850 /%{_lib}/%1/libthread_db.so.1
852 %dir %attr(0700,root,root) /var/cache/ldconfig
859 %attr(755,root,root) %{_bindir}/ldd
862 %dir %attr(0755,root,root) %{_libexecdir}/getconf
863 %{_libexecdir}/getconf/*
864 %{_sbindir}/glibc_post_upgrade
865 %{_sbindir}/iconvconfig
866 /%{_lib}/libBrokenLocale.so.1
871 %manifest %{name}.manifest
873 %defattr (755,root,root,755)
874 %dir /%{_lib}/obsolete/
875 # %dir /{_lib}/obsolete/noversion
876 # /{_lib}/obsolete/noversion/libNoVersion.so.1
879 %files locale -f libc.lang
880 %manifest %{name}.manifest
881 %license COPYING COPYING.LIB
882 %defattr(-,root,root)
883 %{_datadir}/locale/locale.alias
892 %manifest %{name}.manifest
893 /%{_lib}/libc-%{version}-asan.so
898 %ifarch %{hwasan_arch}
900 %manifest %{name}.manifest
901 /%{_lib}/libc-%{version}-hwasan.so
906 %manifest %{name}.manifest
907 %defattr(-,root,root)
908 %license COPYING COPYING.LIB
913 # These static libraries are needed even for shared builds
914 %{_libdir}/libc_nonshared.a
916 %ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
917 # This is not built on sparc64.
918 %{_libdir}/libnldbl_nonshared.a
920 %{_libdir}/libmcheck.a
923 %manifest %{name}.manifest
924 %defattr(-,root,root)
925 %{_libdir}/libBrokenLocale.a
928 %{_libdir}/libcrypt.a
931 %{_libdir}/libpthread.a
932 %{_libdir}/libresolv.a
937 %manifest %{name}.manifest
938 %defattr(-,root,root)
939 %doc %{_infodir}/libc.info.gz
940 %doc %{_infodir}/libc.info-?.gz
941 %doc %{_infodir}/libc.info-??.gz
945 %manifest %{name}.manifest
946 %defattr(-,root,root)
947 %doc %{_prefix}/share/doc/glibc
951 %manifest %{name}.manifest
952 %defattr(-,root,root)
953 %{_prefix}/share/i18n
957 %manifest %{name}.manifest
958 %license COPYING COPYING.LIB
959 %defattr(-,root,root)
961 %{_libdir}/libBrokenLocale_p.a
962 %{_libdir}/libanl_p.a
964 %{_libdir}/libcrypt_p.a
965 %{_libdir}/libpthread_p.a
966 %{_libdir}/libresolv_p.a
968 %{_libdir}/libutil_p.a
973 %manifest %{name}.manifest
974 %defattr(-,root,root)
975 /%{_lib}/libmemusage.so
976 /%{_lib}/libpcprofile.so
977 /%{_libdir}/libBrokenLocale.so
978 /%{_lib}/libthread_db.so.1
979 /%{_libdir}/libthread_db.so
980 %dir /%{_libdir}/audit
981 /%{_libdir}/audit/sotruss-lib.so
982 # These need gd-devel for building
983 # %%{_bindir}/memusage
984 # %%{_bindir}/memusagestat
986 %{_bindir}/pcprofiledump
993 %manifest %{name}.manifest
995 %defattr(-,root,root)
1001 %defattr(-,root,root)
1002 %doc testresults/check.log
1006 %{?glibc_dump_configure:
1007 %files configure-dump
1008 %manifest glibc.manifest
1009 %{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
1012 %{?glibc_build_qemu_accel_ld_so:
1014 %manifest glibc.manifest