5 Star 0 Fork 20

OpenCloudOS Stream/glibc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
glibc.spec 55.04 KB
一键复制 编辑 原始数据 按行查看 历史
abushwang 提交于 2025-09-17 14:43 +08:00 . backport patches from upstream 2.38 branch
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440
# glibc build cost long time, add this condition to get fast build for dev
%bcond_with fastbuild
%if %{with fastbuild}
%bcond_with source
%bcond_with all_langpack
%bcond_with benchtests
%bcond_with werror
%bcond_with valgrind
%bcond_with testsuite
%else
%bcond_without source
%bcond_without all_langpack
%bcond_without benchtests
%bcond_without werror
%bcond_without valgrind
%bcond_without testsuite
%endif
%ifarch loongarch64
%undefine with_testsuite
%endif
%bcond_with bootstrap
%if %{with bootstrap}
%undefine with_benchtests
%undefine with_werror
%undefine with_valgrind
%endif
# Default: Always run valgrind tests if there is architecture support.
# The valgrind tests does not work on riscv
%ifnarch %{valgrind_arches}
%undefine with_valgrind
%endif
# if we enable annobin plugin and enable its work, building of glibc will error with 'error: -D_FORTIFY_SOURCE not defined [-Werror]'
# if we enable annobin plugin and disale its work(like centos or fedora), we think it is meaningless
# so we disable annobin supports in whole building cycle directly.
%undefine _annotated_build
%undefine _auto_set_build_flags
%global locale_rx eo syr *_*
%global __filter_GLIBC_PRIVATE 1
%global target %{_target_cpu}-%{_vendor}-linux
%bcond_without nscd
# debuginfo script relies debugedit does not change build id
%global _no_recompute_build_ids 1
%undefine _unique_build_ids
%global glibc_post_funcs %{expand:
function post_exec (msg, program, ...)
local pid = posix.fork ()
if pid == 0 then
posix.exec (program, ...)
io.stdout:write (msg)
assert (nil)
elseif pid > 0 then
posix.wait (pid)
end
end
function call_ldconfig ()
post_exec("Error: call to %{_prefix}/sbin/ldconfig failed.\n",
"%{_prefix}/sbin/ldconfig")
end
function update_gconv_modules_cache ()
local iconv_dir = "%{_libdir}/gconv"
local iconv_cache = iconv_dir .. "/gconv-modules.cache"
local iconv_modules = iconv_dir .. "/gconv-modules"
if posix.utime(iconv_modules) == 0 then
if posix.utime (iconv_cache) == 0 then
post_exec ("Error: call to %{_prefix}/sbin/iconvconfig failed.\n",
"%{_prefix}/sbin/iconvconfig",
"-o", iconv_cache,
"--nostdlib",
iconv_dir)
else
io.stdout:write ("Error: Missing " .. iconv_cache .. " file.\n")
end
end
end}
Summary: The GNU libc libraries
Name: glibc
Version: 2.38
Release: 40%{?dist}
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL
URL: http://www.gnu.org/software/glibc/
Source0: https://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
Source1: bench.mk
Source2: glibc-bench-compare
# customize debuginfo
Source4: wrap-find-debuginfo.sh
Source5: generate-langpack.lua
Source6: nscd.conf
Patch0001: stdlib-Improve-tst-realpath-compatibility-with-sourc.patch
Patch0002: 0001-x86-Fix-for-cache-computation-on-AMD-legacy-cpus.patch
Patch0003: 0002-nscd-Do-not-rebuild-getaddrinfo-bug-30709.patch
Patch0004: 0003-x86-Fix-incorrect-scope-of-setting-shared_per_thread.patch
Patch0005: 0004-x86_64-Fix-build-with-disable-multiarch-BZ-30721.patch
Patch0006: 0005-i686-Fix-build-with-disable-multiarch.patch
Patch0007: malloc-Enable-merging-of-remainders-in-memalign-bug-.patch
Patch0008: malloc-Remove-bin-scanning-from-memalign-bug-30723.patch
Patch0009: 0008-sysdeps-tst-bz21269-fix-test-parameter.patch
Patch0010: 0009-sysdeps-tst-bz21269-handle-ENOSYS-skip-appropriately.patch
Patch0011: 0010-sysdeps-tst-bz21269-fix-Wreturn-type.patch
Patch0012: 0011-io-Fix-record-locking-contants-for-powerpc64-with-__.patch
Patch0013: backport-libio-Fix-oversized-__io_vtables.patch
Patch0014: 0001-elf-Do-not-run-constructors-for-proxy-objects.patch
Patch0015: 0002-elf-Always-call-destructors-in-reverse-constructor-o.patch
Patch0016: 0003-elf-Remove-unused-l_text_end-field-from-struct-link_.patch
Patch0017: 0004-elf-Move-l_init_called_next-to-old-place-of-l_text_e.patch
Patch0018: 0005-NEWS-Add-the-2.38.1-bug-list.patch
Patch0019: CVE-2023-4527-Stack-read-overflow-with-large-TCP-res.patch
Patch0020: CVE-2023-4806-getaddrinfo-Fix-use-after-free-in-getcanonname-CVE-2.patch
Patch0021: 0002-iconv-restore-verbosity-with-unrecognized-encoding-n.patch
Patch0022: 0003-string-Fix-tester-build-with-fortify-enable-with-gcc.patch
Patch0023: 0004-manual-jobs.texi-Add-missing-item-EPERM-for-getpgid.patch
Patch0024: CVE-2023-5156-Fix-leak-in-getaddrinfo-introduced-by-the-fix-for-CV.patch
Patch0025: 0002-Document-CVE-2023-4806-and-CVE-2023-5156-in-NEWS.patch
Patch0026: 0003-Propagate-GLIBC_TUNABLES-in-setxid-binaries.patch
Patch0027: CVE-tunables-Terminate-if-end-of-input-is-reached-CVE-20.patch
Patch0028: 0001-Revert-elf-Remove-unused-l_text_end-field-from-struc.patch
Patch0029: 0002-Revert-elf-Always-call-destructors-in-reverse-constr.patch
Patch0030: 0003-Revert-elf-Move-l_init_called_next-to-old-place-of-l.patch
Patch0031: 0001-sysdeps-sem_open-Clear-O_CREAT-when-semaphore-file-i.patch
Patch0032: elf-Fix-wrong-break-removal-from-8ee878592c.patch
Patch0033: backport-elf-Handle-non-directory-name-in-search-path-BZ-3103.patch
Patch0034: elf-Fix-TLS-modid-reuse-generation-assignment-BZ-290.patch
Patch0035: elf-Add-TLS-modid-reuse-test-for-bug-29039.patch
Patch0036: x86-64-Fix-the-dtv-field-load-for-x32-BZ-31184.patch
Patch0037: x86-64-Fix-the-tcb-field-load-for-x32-BZ-31185.patch
Patch0038: NEWS-Mention-bug-fixes-for-29039-30694-30709-30721.patch
Patch0039: NEWS-Mention-bug-fixes-for-30745-30843.patch
Patch0040: getaddrinfo-translate-ENOMEM-to-EAI_MEMORY-bug-31163.patch
Patch0041: libio-Check-remaining-buffer-size-in-_IO_wdo_write-b.patch
Patch0042: elf-Add-a-way-to-check-if-tunable-is-set-BZ-27069.patch
Patch0043: malloc-Improve-MAP_HUGETLB-with-glibc.malloc.hugetlb.patch
Patch0044: CVE-2023-6246-syslog-Fix-heap-buffer-overflow-in-__vsyslog_interna.patch
Patch0045: CVE-2023-6779-syslog-Fix-heap-buffer-overflow-in-__vsyslog_interna.patch
Patch0046: CVE-2023-6780-syslog-Fix-integer-overflow-in-__vsyslog_internal-CV.patch
Patch0047: x86_64-Optimize-ffsll-function-code-size.patch
Patch0048: S390-Fix-building-with-disable-mutli-arch-BZ-31196.patch
Patch0049: sparc-Fix-broken-memset-for-sparc32-BZ-31068.patch
Patch0050: sparc64-Remove-unwind-information-from-signal-return.patch
Patch0051: sparc-Fix-sparc64-memmove-length-comparison-BZ-31266.patch
Patch0052: sparc-Remove-unwind-information-from-signal-return-s.patch
Patch0053: arm-Remove-wrong-ldr-from-_dl_start_user-BZ-31339.patch
Patch0054: malloc-Use-__get_nprocs-on-arena_get2-BZ-30945.patch
Patch0055: linux-Sync-Linux-6.6-elf.h.patch
Patch0056: 0001-S390-Do-not-clobber-r7-in-clone-BZ-31402.patch
Patch0057: 0002-linux-Use-rseq-area-unconditionally-in-sched_getcpu-.patch
Patch0058: 0004-Add-HWCAP2_MOPS-from-Linux-6.5-to-AArch64-bits-hwcap.patch
Patch0059: 0005-AArch64-Add-support-for-MOPS-memcpy-memmove-memset.patch
Patch0060: 0006-AArch64-Cleanup-ifuncs.patch
Patch0061: 0007-AArch64-Cleanup-emag-memset.patch
Patch0062: 0008-AArch64-Add-memset_zva64.patch
Patch0063: 0009-AArch64-Remove-Falkor-memcpy.patch
Patch0064: 0010-aarch64-correct-CFI-in-rawmemchr-bug-31113.patch
Patch0065: 0011-aarch64-fix-check-for-SVE-support-in-assembler.patch
Patch0066: 0012-AArch64-Check-kernel-version-for-SVE-ifuncs.patch
Patch0067: 0013-powerpc-Fix-ld.so-address-determination-for-PCREL-mo.patch
Patch0068: CVE-2024-2961-iconv-ISO-2022-CN-EXT-fix-out-of-bound-writes-when-w.patch
Patch0069: 0015-sparc-Remove-64-bit-check-on-sparc32-wordsize-BZ-275.patch
Patch0070: 0016-login-Check-default-sizes-of-structs-utmp-utmpx-last.patch
Patch0071: 0017-login-structs-utmp-utmpx-lastlog-_TIME_BITS-independ.patch
Patch0072: 0018-nptl-Fix-tst-cancel30-on-kernels-without-ppoll_time6.patch
Patch0073: 0019-i386-ulp-update-for-SSE2-disable-multi-arch-configur.patch
Patch0074: CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch
Patch0075: CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch
Patch0076: CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch
Patch0077: CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two-.patch
Patch0078: 0024-elf-Also-compile-dl-misc.os-with-rtld-early-cflags.patch
Patch0079: 0025-nscd-Use-time_t-for-return-type-of-addgetnetgrentX.patch
Patch0080: 0026-resolv-Fix-some-unaligned-accesses-in-resolver-BZ-30.patch
Patch0081: Force-DT_RPATH-for-enable-hardcoded-path-in-tests.patch
Patch0082: i386-Disable-Intel-Xeon-Phi-tests-for-GCC-15-and-abo.patch
Patch0083: misc-Add-support-for-Linux-uio.h-RWF_NOAPPEND-flag.patch
Patch0084: 0001-s390x-Fix-segfault-in-wcsncmp-BZ-31934.patch
Patch0085: 0002-nptl-fix-potential-merge-of-__rseq_-relro-symbols.patch
Patch0086: 0003-elf-Make-dl-rseq-symbols-Linux-only.patch
Patch0087: 0004-Linux-Make-__rseq_size-useful-for-feature-detection-.patch
Patch0088: 0005-resolv-Allow-short-error-responses-to-match-any-quer.patch
Patch0089: 0006-resolv-Do-not-wait-for-non-existing-second-DNS-respo.patch
Patch0090: 0007-resolv-Track-single-request-fallback-via-_res._flags.patch
Patch0091: 0008-linux-Update-the-mremap-C-implementation-BZ-31968.patch
Patch0092: 0009-mremap-Update-manual-entry.patch
Patch0093: 0010-Add-mremap-tests.patch
Patch0094: 0011-Update-syscall-lists-for-Linux-6.5.patch
Patch0095: 0012-resolv-Fix-tst-resolv-short-response-for-older-GCC-b.patch
Patch0096: Fix-name-space-violation-in-fortify-wrappers-bug-320.patch
Patch0097: x86-Fix-bug-in-strchrnul-evex512-BZ-32078.patch
Patch0099: support-Add-FAIL-test-failure-helper.patch
Patch0100: stdio-common-Add-test-for-vfscanf-with-matches-longe.patch
Patch0101: Make-tst-ungetc-use-libsupport.patch
Patch0102: ungetc-Fix-uninitialized-read-when-putting-into-unus.patch
Patch0103: ungetc-Fix-backup-buffer-leak-on-program-exit-BZ-278.patch
Patch0104: posix-Use-support-check.h-facilities-in-tst-truncate.patch
Patch0105: nptl-Use-support-check.h-facilities-in-tst-setuid3.patch
Patch0106: libio-Attempt-wide-backup-free-only-for-non-legacy-c.patch
Patch0107: Add-crt1-2.0.o-for-glibc-2.0-compatibility-tests.patch
Patch0108: elf-Change-ldconfig-auxcache-magic-number-bug-32231.patch
Patch0109: backport-elf-avoid-jumping-over-a-needed-declaration.patch
Patch0110: backport-elf-Move-__rtld_malloc_init_stubs-call-into-_dl_star.patch
Patch0111: backport-elf-Handle-static-PIE-with-non-zero-load-address-BZ-.patch
Patch0112: backport-elf-Introduce-_dl_relocate_object_no_relro.patch
Patch0113: backport-elf-Switch-to-main-malloc-after-final-ld.so-self-rel.patch
Patch0114: nptl-initialize-rseq-area-prior-to-registration.patch
Patch0115: nptl-initialize-cpu_id_start-prior-to-rseq-registrat.patch
Patch0116: x86-Avoid-integer-truncation-with-large-cache-sizes-.patch
Patch0117: x86_64-Sort-fpu-multiarch-Makefile.patch
Patch0118: x86_64-Add-log2-with-FMA.patch
Patch0119: x86_64-Add-expm1-with-FMA.patch
Patch0120: x86_64-Add-log1p-with-FMA.patch
Patch0121: x86-Check-the-lower-byte-of-EAX-of-CPUID-leaf-2-BZ-3.patch
Patch0122: elf-Fix-slow-tls-access-after-dlopen-BZ-19924.patch
Patch0123: 0030-x86-Only-align-destination-to-1x-VEC_SIZE-in-memset-.patch
Patch0124: sysdeps-x86-Makefile-Split-and-sort-tests.patch
Patch0125: x86_64-Fix-missing-wcsncat-function-definition-witho.patch
Patch0126: 0022-x86-Improve-large-memset-perf-with-non-temporal-stor.patch
Patch0127: backport-x86-string-Fixup-alignment-of-main-loop-in-str-n-cmp.patch
Patch0128: elf-Avoid-some-free-NULL-calls-in-_dl_update_slotinf.patch
Patch0129: elf-Support-recursive-use-of-dynamic-TLS-in-interpos.patch
Patch0130: CVE-2025-0395-Fix-underallocation-of-abort_msg_s-struct-CVE-2025-0.patch
Patch0131: stdlib-Test-using-setenv-with-updated-environ-BZ-325.patch
Patch0132: backport-elf-Keep-using-minimal-malloc-after-early-DTV-resize.patch
Patch0133: backport-assert-Add-test-for-CVE-2025-0395.patch
Patch0134: AArch64-Improve-generic-strlen.patch
Patch0135: AArch64-Optimize-memset.patch
Patch0136: AArch64-Remove-zva_128-from-memset.patch
Patch0137: math-Improve-layout-of-expf-data.patch
Patch0138: AArch64-Add-SVE-memset.patch
Patch0139: AArch64-Use-prefer_sve_ifuncs-for-SVE-memset.patch
Patch0140: math-Improve-layout-of-exp-exp10-data.patch
Patch0141: CVE-2025-4802-elf-Ignore-LD_LIBRARY_PATH-and-debug-env-var-for-set.patch
Patch0142: support-Use-const-char-argument-in-support_capture_s.patch
Patch0143: support-Add-support_record_failure_barrier.patch
Patch0144: elf-Test-case-for-bug-32976-CVE-2025-4802.patch
Patch0145: x86_64-Fix-typo-in-ifunc-impl-list.c.patch
Patch0146: elf-Fix-subprocess-status-handling-for-tst-dlopen-sg.patch
Patch0147: support-Pick-group-in-support_capture_subprogram_sel.patch
Patch0148: Fix-error-reporting-false-negatives-in-SGID-tests.patch
Patch0149: 0001-pthreads-NPTL-lost-wakeup-fix-2.patch
Patch0150: 0002-nptl-Update-comments-and-indentation-for-new-condvar.patch
Patch0151: 0003-nptl-Remove-unnecessary-catch-all-wake-in-condvar-gr.patch
Patch0152: 0004-nptl-Remove-unnecessary-quadruple-check-in-pthread_c.patch
Patch0153: 0005-nptl-Remove-g_refs-from-condition-variables.patch
Patch0154: 0006-nptl-Use-a-single-loop-in-pthread_cond_wait-instaed-.patch
Patch0155: 0007-nptl-Fix-indentation.patch
Patch0156: 0008-nptl-rename-__condvar_quiesce_and_switch_g1.patch
Patch0157: 0009-nptl-Use-all-of-g1_start-and-g_signals.patch
Patch0158: 0010-nptl-PTHREAD_COND_INITIALIZER-compatibility-with-pre.patch
Patch0159: malloc-add-indirection-for-malloc-like-functions-in-.patch
Patch0160: malloc-obscure-calloc-use-in-tst-calloc.patch
Patch0161: malloc-cleanup-casts-in-tst-calloc.patch
Patch0162: CVE-2025-8058-posix-Fix-double-free-after-allocation-failure-in-re.patch
Patch0163: arm-Use-_dl_find_object-on-__gnu_Unwind_Find_exidx-B.patch
Patch0164: elf-Do-not-add-a-copy-of-_dl_find_object-to-libc.so.patch
Patch0165: elf-Extract-rtld_setup_phdr-function-from-dl_main.patch
Patch0166: 1bdce2545588a837f4b6715a90f5a22f9fc99c46.patch
Patch0167: c69b88fc71aa5657662c5c4f176a51034b029ac4.patch
Patch0168: i386-Remove-CET-support.patch
Patch0169: x86-64-Save-APX-registers-in-ld.so-trampoline.patch
Patch0170: debug-Adapt-fortify-tests-to-libsupport.patch
Patch0171: debug-Wire-up-tst-longjmp_chk3.patch
Patch0172: debug-Fix-tst-longjmp_chk3-build-failure-on-Hurd.patch
Patch0173: Remove-installed-header-rule-on-.-include-.h.patch
Patch0174: Update-syscall-lists-for-Linux-6.6.patch
Patch0175: Update-syscall-lists-for-Linux-6.7.patch
Patch0176: x86-cet-Check-user_shstk-in-proc-cpuinfo.patch
Patch0177: x86-cet-Don-t-assume-that-SHSTK-implies-IBT.patch
Patch0178: x86-cet-Check-legacy-shadow-stack-applications.patch
Patch0179: x86-cet-Check-CPU_FEATURE_ACTIVE-when-CET-is-disable.patch
Patch0180: x86-cet-Add-tests-for-GLIBC_TUNABLES-glibc.cpu.hwcap.patch
Patch0181: x86-cet-Check-legacy-shadow-stack-code-in-.init_arra.patch
Patch0182: x86-cet-Check-CPU_FEATURE_ACTIVE-in-permissive-mode.patch
Patch0183: x86-cet-Update-tst-cet-vfork-1.patch
Patch0184: x86-Modularize-sysdeps-x86-dl-cet.c.patch
Patch0185: x86-cet-Don-t-disable-CET-if-not-single-threaded.patch
Patch0186: x86-cet-Sync-with-Linux-kernel-6.6-shadow-stack-inte.patch
Patch0187: x86-cet-Enable-shadow-stack-during-startup.patch
Patch0188: x86-cet-Check-feature_1-in-TCB-for-active-IBT-and-SH.patch
Patch0189: x86-cet-Don-t-set-CET-active-by-default.patch
Patch0190: x86-cet-Run-some-CET-tests-with-shadow-stack.patch
Patch0191: x86-cet-Add-fcf-protection-none-before-fcf-protectio.patch
Patch0192: i386-Ignore-enable-cet.patch
Patch0193: x86-64-cet-Check-the-restore-token-in-longjmp.patch
Patch0194: i386-Fail-if-configured-with-enable-cet.patch
Patch0195: x86-64-cet-Move-dl-cet.-ch-to-x86_64-directories.patch
Patch0196: x86-Move-CET-infrastructure-to-x86_64.patch
Patch0197: x86-64-cet-Move-check-cet.awk-to-x86_64.patch
Patch0198: i386-Remove-CET-support-bits.patch
Patch0199: x86-64-cet-Make-CET-feature-check-specific-to-Linux-.patch
Patch0200: x86-cet-fix-shadow-stack-test-scripts.patch
Patch0201: x86-64-Remove-sysdeps-x86_64-x32-dl-machine.h.patch
Patch0202: x32-cet-Support-shadow-stack-during-startup-for-Linu.patch
Patch0203: 88866d885c7acd2b74e4f78a35fbd7ac251ebc1f.patch
Patch0204: 6f076f136680905b56cc816a01674550d2c17bf4.patch
Patch0205: 2ce5eb61fc2845b7f80dba7c56bd7f7a55b63a59.patch
Patch0206: Apply-the-Makefile-sorting-fix.patch
Patch0207: 5cb05015c9b28ea521d816237805fbbee5224c86.patch
Patch0208: e925c13e039df061c7bf48e458e9ea26fa3ca8a3.patch
Patch0209: 2d34e48a2858ae901b4cf532a5d7a88931f1c149.patch
Patch0210: i386-Update-___tls_get_addr-to-preserve-vector-regis.patch
Patch0211: 3f0dd818e54157d6042c4a03b07d93f05d1e492a.patch
Patch0212: i386-Also-add-GLIBC_ABI_GNU2_TLS-version-BZ-33129.patch
Patch0213: i386-Add-GLIBC_ABI_GNU_TLS-version-BZ-33221.patch
Patch0214: 950891b5e7a5307272da3e632832ac9da4c9eeec.patch
Patch0215: 6fd215d6ae9a4a6e75f7ea18d89db6a10f158eaf.patch
Patch3000: glibc-python3.patch
Patch3001: glibc-disable-werror-tst-realloc.patch
Patch3002: glibc-rh827510.patch
Patch3003: 3003-add-GB18030-2022-charmap-support.patch
Patch3004: LoongArch-Redefine-macro-LEAF-ENTRY.patch
Patch3005: LoongArch-Add-minuimum-binutils-required-version.patch
Patch3006: Loongarch-Add-ifunc-support-and-add-different-versio.patch
Patch3007: elf-Add-new-LoongArch-reloc-types-101-to-108-into-el.patch
Patch3008: LoongArch-elf-Add-new-LoongArch-reloc-types-109-into.patch
Patch3009: Loongarch-Add-ifunc-support-for-strchr-aligned-lsx-l.patch
Patch3010: Loongarch-Add-ifunc-support-for-memcpy-aligned-unali.patch
Patch3011: LoongArch-Add-ifunc-support-for-strnlen-aligned-lsx-.patch
Patch3012: LoongArch-Add-ifunc-support-for-strcmp-aligned-lsx.patch
Patch3013: LoongArch-Add-ifunc-support-for-strncmp-aligned-lsx.patch
Patch3014: LoongArch-Remove-support-code-for-old-linker-in-star.patch
Patch3015: LoongArch-Micro-optimize-LD_PCREL.patch
Patch3016: LoongArch-Add-ifunc-support-for-rawmemchr-aligned-ls.patch
Patch3017: LoongArch-Add-ifunc-support-for-memchr-aligned-lsx-l.patch
Patch3018: LoongArch-Add-ifunc-support-for-memrchr-lsx-lasx.patch
Patch3019: LoongArch-Add-ifunc-support-for-memset-aligned-unali.patch
Patch3020: LoongArch-Add-ifunc-support-for-memcmp-aligned-lsx-l.patch
Patch3021: LoongArch-Change-loongarch-to-LoongArch-in-comments.patch
Patch3022: LoongArch-Add-lasx-lsx-support-for-_dl_runtime_profi.patch
Patch3023: LoongArch-Replace-deprecated-v0-with-a0-to-eliminate.patch
Patch3024: LoongArch-Add-ifunc-support-for-strcpy-stpcpy-aligne.patch
Patch3025: LoongArch-Add-ifunc-support-for-strrchr-aligned-lsx-.patch
Patch3026: LoongArch-Change-to-put-magic-number-to-.rodata-sect.patch
Patch3027: LoongArch-Add-glibc.cpu.hwcap-support.patch
Patch3028: Revert-LoongArch-Add-glibc.cpu.hwcap-support.patch
Patch3029: LoongArch-Unify-Register-Names.patch
Patch3030: LoongArch-Update-hwcap.h-to-sync-with-LoongArch-kern.patch
Patch3032: Decrease-value-of-arch_minimum_kernel-with-LoongArch.patch
#--
Patch3033: 0001-LoongArch-Use-builtins-for-ffs-and-ffsll.patch
Patch3034: 0002-elf-Add-new-LoongArch-reloc-types-110-to-126-into-el.patch
Patch3035: 0003-LoongArch-Add-glibc.cpu.hwcap-support.patch
Patch3036: 0004-LoongArch-Add-support-for-TLS-Descriptors.patch
Patch3037: 0005-LoongArch-Fix-tst-gnu2-tls2-compiler-error.patch
Patch3038: 0006-LoongArch-Use-fcsr0-instead-of-r0-in-_FPU_-GET-SET-C.patch
Patch3039: 0007-LoongArch-Ensure-sp-16-byte-aligned-for-tlsdesc.patch
Patch3040: 0008-LoongArch-Fix-_dl_tlsdesc_dynamic-in-LSX-case.patch
Patch3041: 0009-LoongArch-Fix-tst-gnu2-tls2-test-case.patch
Patch3042: 0010-LoongArch-Add-cfi-instructions-for-_dl_tlsdesc_dynam.patch
Patch3043: 0011-LoongArch-Fix-macro-redefined-warning-in-tls-desc.S.patch
Patch3044: 0012-LoongArch-Undef-__NR_fstat-and-__NR_newfstatat.patch
Patch3045: 0013-From-Adhemerval-Zanella-adhemerval.zanella-linaro.or.patch
Patch3046: 0014-loongarch-Remove-duplicate-strnlen-in-libc.a-BZ-3178.patch
Patch3047: 0015-LoongArch-Change-tunable-for-2.38.patch
Patch3048: 0016-LoongArch-Simplify-the-autoconf-check-for-static-PIE.patch
Patch3049: 0017-nptl-Add-thread_pointer.h-for-LoongArch.patch
Patch3050: 0018-nptl-fix-__builtin_thread_pointer-detection-on-Loong.patch
Patch3051: LoongArch-Force-SHMLBA-the-same-as-kernel.patch
Patch3052: 0019-x86-Add-new-architecture-type-for-Hygon-processors.patch
Patch3053: 0020-x86-Add-cache-information-support-for-Hygon-processo.patch
Patch3054: 0021-x86-Fix-Zen3-Zen4-ERMS-selection-BZ-30994.patch
Patch3056: 0023-x86-Add-seperate-non-temporal-tunable-for-memset.patch
Patch3057: 0024-x86-Enable-non-temporal-memset-tunable-for-AMD.patch
Patch3058: 0025-x86-Fix-value-for-x86_memset_non_temporal_threshold-.patch
Patch3059: 0026-x86-Disable-non-temporal-memset-on-Skylake-Server.patch
Patch3060: 0027-x86-Use-Avoid_Non_Temporal_Memset-to-control-non-tem.patch
Patch3061: 0028-x86-Add-Avoid_STOSB-tunable-to-allow-NT-memset-witho.patch
Patch3062: 0029-x86-Enable-non-temporal-memset-for-Hygon-processors.patch
Patch3064: 0001-LoongArch-Update-ulps.patch
Patch3065: 0002-Add-HWCAP_LOONGARCH_LSPW-from-Linux-6.12-to-bits-hwc.patch
Patch3066: 0003-loongarch-Provide-stpcpy-in-stpcpy-aligned.S-for-rtl.patch
Patch3067: 0004-loongarch-Drop-__GI_XXX-for-strcpy-stpcpy-IFUNC-impl.patch
Patch5000: 5000-one-china-principle.patch
Provides: ldconfig, rtld(GNU_HASH)
Provides: /sbin/ldconfig
Provides: /usr/sbin/ldconfig
BuildRequires: glibc-devel procps-ng, util-linux, gawk, systemtap-sdt-devel
BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext, bison >= 2.7
BuildRequires: python3 python3-devel, gcc >= 7.2.1-6, make >= 4.0, binutils >= 2.30-17
%if %{without bootstrap}
BuildRequires: gd-devel libpng-devel zlib-devel
BuildRequires: libselinux-devel >= 1.33.4-3
%if %{with valgrind}
BuildRequires: valgrind
%endif
%if %{with testsuite}
BuildRequires: diffutils gcc-c++ libstdc++-static glibc-static libidn2 perl-interpreter
%endif
%endif
Requires: libgcc, glibc-common = %{version}-%{release}, basesystem
%if %{with all_langpack}
Requires: glibc-langpack-zh = %{version}-%{release}
Requires: glibc-langpack-en = %{version}-%{release}
%endif
Recommends: glibc-gconv-extra = %{version}-%{release}
Requires: (glibc-gconv-extra = %{version}-%{release} if system-rpm-config)
%description
The GNU C Library project provides the core libraries for the GNU
system and GNU/Linux systems, as well as many other systems that use
Linux as the kernel. These libraries provide critical APIs including
ISO C11, POSIX.1-2008, BSD, OS-specific APIs and more. These APIs
include such foundational facilities as open, read, write, malloc,
printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit and more.
%package -n libnsl
Summary: Legacy support library for NIS
Requires: %{name} = %{version}-%{release}
%description -n libnsl
This package provides libnsl library for accessing NIS services.
If you want to use IPV6, try libnsl2.
%package devel
Summary: Object files for development using standard C libraries.
BuildRequires: kernel-headers >= 3.2
Requires: %{name} = %{version}-%{release}
Requires: libxcrypt-devel >= 4.0.0
Requires: kernel-headers >= 3.2
Provides: %{name}-headers = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
%description devel
This package provides object and header files for developers who
use glibc 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 -p <lua> -- /lib /usr/lib /lib64 /usr/lib64
%glibc_post_funcs
call_ldconfig()
%end
%transfiletriggerpostun common -P 2000000 -p <lua> -- /lib /usr/lib /lib64 /usr/lib64
%glibc_post_funcs
call_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
This package provides sources of all locales in all-langpacks.
%if %{with all_langpack}
%{lua:
local lua_file = rpm.expand("%{SOURCE5}")
dofile(lua_file)
}
%endif
%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
This package provides 'ALL' locales which can be used in GNU C library
internationally.
%package gconv-extra
Summary: All iconv converter modules for %{name}.
Requires: %{name} = %{version}-%{release}
Requires: %{name}-common = %{version}-%{release}
%description gconv-extra
This package providess all iconv converter modules built in GNU C library.
%if %{with nscd}
%package -n nscd
Summary: Name caching service daemon.
BuildRequires: systemd-rpm-macros
Requires: %{name} = %{version}-%{release}
Requires: libselinux >= 1.17.10
Requires: audit-libs >= 1.1.3
Requires: systemd
Requires(pre): shadow-utils, coreutils
Requires(postun): shadow-utils
%description -n nscd
The nscd package is able to daemon caches name service lookups and improve
the performance with LDAP.
%endif
%package nss
Summary: Name Service Switch (NSS) module using hash-indexed files
Requires: %{name} = %{version}-%{release}
Provides: nss_db = %{version}-%{release}
Provides: nss_hesiod = %{version}-%{release}
%description nss
This package provides the ability of name lookup with the help of db.
%package nss-devel
Summary: Development files for directly linking NSS service modules
Requires: %{name} = %{version}-%{release}
Requires: nss_db = %{version}-%{release}
Requires: nss_hesiod = %{version}-%{release}
%description nss-devel
This package provides object files to developers that need to use
nss.
%package utils
Summary: Development utilities from GNU C library
Requires: %{name} = %{version}-%{release}
%description utils
This package provides some tools which can be used when debugging.
%if %{with benchtests}
%package benchtests
Summary: Benchmarking binaries and scripts for %{name}
%description benchtests
This package provides some build-in benchmark testcases which can be run
on system.
%endif
%if %{with source}
%package source
Summary: source included %{_vendor} patch
BuildRequires: tar, xz
BuildArch: noarch
%description source
This package provides source included %{_vendor} patch
for cross toolchains
%endif
%prep
%autosetup -n %{name}-%{version} -p1
chmod +x benchtests/scripts/*.py scripts/pylint
find . -type f -size 0 -o -name "*.orig" -delete
touch `find . -name configure`
touch locale/programs/*-kw.h
# rewriting the definition of __debug_install_post.
# reserve the debuginfo in ld.so
%{lua:
local wrapper = rpm.expand("%{SOURCE4}")
local sysroot = rpm.expand("%{buildroot}")
local original = rpm.expand("%{macrobody:__debug_install_post}")
-- Strip leading newline. It confuses the macro redefinition.
-- Avoid embedded newlines that confuse the macro definition.
original = original:match("^%s*(.-)%s*$"):gsub("\\\n", "")
rpm.define("__debug_install_post bash " .. wrapper
.. " " .. sysroot .. " " .. original)
}
%build
%if %{with source}
tar acf %{name}-%{version}-%{release}.tar.xz *
%endif
reference=" \
"-Wp,-D_GLIBCXX_ASSERTIONS" \
"-fasynchronous-unwind-tables" \
"-fstack-clash-protection" \
"-funwind-tables" \
"-m64" \
"-march=armv8-a+lse" \
"-march=armv8.1-a" \
"-march=haswell" \
"-march=x86-64" \
"-march=x86-64-v2" \
"-march=x86-64-v3" \
"-march=x86-64-v4" \
"-mcpu=power8" \
"-mcpu=power9" \
"-mbranch-protection=standard" \
"-mfpmath=sse" \
"-msse2" \
"-mstackrealign" \
"-mtune=generic" \
"-mtune=power8" \
"-mtune=power9" "
BuildFlags="-O2 -g"
for flag in $RPM_OPT_FLAGS $RPM_LD_FLAGS ; do
if echo "$reference" | grep -q -F " $flag " ; then
BuildFlags="$BuildFlags $flag"
fi
done
rm -rf build-%{target}
mkdir build-%{target}
pushd build-%{target}
%if 0%{?_annotated_build} > 0
# this will enable annobin plugin of gcc but it will not work.
BuildFlagsNonshared = "-fplugin=annobin -fplugin-arg-annobin-disable -Wa,--generate-missing-build-notes=yes"
%endif
# mitigate performance issue for some intel platforms.
%ifarch x86_64
BuildFlags="$BuildFlags -Wa,-mbranches-within-32B-boundaries"
%endif
../configure CC=gcc CXX=g++ CFLAGS="$BuildFlags" \
--prefix=%{_prefix} \
--with-headers=%{_prefix}/include \
--enable-kernel=3.2 \
--with-nonshared-cflags="${BuildFlagsNonshared}" \
--enable-bind-now \
--build=%{target} \
--enable-stack-protector=strong \
--enable-multi-arch \
--enable-systemtap \
%ifarch x86_64
--enable-cet \
%endif
%if %{without werror}
--disable-werror \
%endif
%if %{with bootstrap}
--without-selinux \
%endif
--disable-profile \
%ifarch aarch64
--enable-memory-tagging \
%endif
--disable-crypt \
%if %{without nscd}
--disable-build-nscd \
--disable-nscd
%endif
||
{ cat config.log; false; }
# in commit e47de5cb (Do not use --hash-style=both for building glibc shared objects),
# glibc upstream remove default --hash-style=both. We keep in spec to maintain compatibility.
# However, we have no commitment to maintain this operation permanently, we suggest all
# the user consider to switch to --hash-style=gnu
env LDFLAGS.so="-Wl,--hash-style=both" \
LDFLAGS-rtld="-Wl,--hash-style=both" \
%make_build -r ASFLAGS="-g -Wa,--generate-missing-build-notes=yes"
popd
%install
%ifarch riscv64
for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib}; do
mkdir -p $d
(cd $d && ln -sf . lp64d)
done
%endif
pushd build-%{target}
%make_build install_root=%{buildroot} install
%make_build install_root=%{buildroot} \
install-locale-files -C ../localedata objdir=`pwd`
popd
hardlink %{buildroot}/usr/lib/locale
rm -f %{buildroot}/%{_libdir}/libNoVersion*
rm -f %{buildroot}/%{_lib}/libNoVersion*
rm -f %{buildroot}/%{_lib}/libnss1-*
rm -f %{buildroot}/%{_lib}/libnss-*.so.1
rm -f %{buildroot}/usr/sbin/sln
rm -f %{buildroot}/sbin/sln
mkdir -p %{buildroot}/var/cache/ldconfig
touch %{buildroot}/var/cache/ldconfig/aux-cache
%{buildroot}/sbin/ldconfig -N -r %{buildroot}
olddir=`pwd`
pushd %{buildroot}%{_prefix}/lib/locale
rm -f locale-archive
$olddir/build-%{target}/elf/ld.so \
--library-path $olddir/build-%{target}/ \
$olddir/build-%{target}/locale/localedef \
--alias-file=$olddir/intl/locale.alias \
--prefix %{buildroot} --add-to-archive \
%locale_rx
ln locale-archive locale-archive.real
popd
pushd %{buildroot}/usr/lib/locale
for f in $(find %locale_rx -samefile C.utf8/LC_CTYPE); do
rm $f && ln -s '../C.utf8/LC_CTYPE' $f
done
popd
%if %{with all_langpack}
pushd %{buildroot}%{_prefix}/lib/locale
for i in %locale_rx
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 %{buildroot}%{_prefix}/share/locale
for i in */LC_MESSAGES/libc.mo
do
locale=${i%%%%/*}
lang=${locale%%%%_*}
echo "%lang($lang) %{_prefix}/share/locale/${i}" \
>> %{buildroot}%{_prefix}/lib/locale/langpack-${lang}.filelist
done
popd
mv %{buildroot}%{_prefix}/lib/locale/*.filelist .
%else
for dir in %{buildroot}%{_prefix}/lib/locale/*; do
if [ -d "$dir" ] && [ "$(basename "$dir")" != "C.utf8" ]; then
rm -r "$dir"
fi
done
%endif
%if %{with nscd}
install -m644 nscd/nscd.conf %{buildroot}/etc
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m644 %{SOURCE6} %{buildroot}%{_tmpfilesdir}
mkdir -p %{buildroot}/lib/systemd/system
install -m 644 nscd/nscd.service %{buildroot}/lib/systemd/system
mkdir -p %{buildroot}/var/{db,run}/nscd
touch %{buildroot}/var/{db,run}/nscd/{passwd,group,hosts,services}
touch %{buildroot}/var/run/nscd/nscd.pid
%endif
touch %{buildroot}/etc/ld.so.cache
echo 'include ld.so.conf.d/*.conf' > %{buildroot}/etc/ld.so.conf
chmod 644 %{buildroot}/etc/ld.so.conf
mkdir -p %{buildroot}/etc/ld.so.conf.d
touch %{buildroot}/etc/gai.conf
touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
chmod 644 %{buildroot}%{_libdir}/gconv/gconv-modules.cache
rm -rf %{buildroot}%{_prefix}/share/zoneinfo
touch -r %{SOURCE0} %{buildroot}/etc/ld.so.conf
touch -r inet/etc.rpc %{buildroot}/etc/rpc
%if %{with benchtests}
pushd build-%{target}
make BENCH_DURATION=1 bench-build
popd
mkdir -p %{buildroot}%{_prefix}/libexec/glibc-benchtests
cp $(find build-%{target}/benchtests -type f -executable) %{buildroot}%{_prefix}/libexec/glibc-benchtests/
cp {%{SOURCE1},%{SOURCE2}} %{buildroot}%{_prefix}/libexec/glibc-benchtests/
cp benchtests/scripts/{benchout.schema.json,benchout.schema.json,compare_bench.py,import_bench.py,validate_benchout.py} \
%{buildroot}%{_prefix}/libexec/glibc-benchtests/
%endif
%if %{without fastbuild}
pushd locale
ln -s programs/*.gperf .
popd
pushd iconv
ln -s ../locale/programs/charmap-kw.gperf .
popd
%endif
mkdir -p %{buildroot}%{_libdir}
mv -f %{buildroot}/%{_lib}/lib{pcprofile,memusage}.so \
%{buildroot}%{_libdir}
strip -g %{buildroot}%{_libdir}/*.o
for i in %{buildroot}%{_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
{
find %{buildroot} \( -type f -o -type l \) \
\( \
-name etc -printf "%%%%config " -o \
-name gconv-modules.cache \
-printf "%%%%verify(not md5 size mtime) " -o \
-name gconv-modules* \
-printf "%%%%verify(not md5 size mtime) %%%%config(noreplace) " \
, \
! -path "*/lib/debug/*" -printf "/%%P\n" \)
find %{buildroot} -type d \
\( -path '*%{_prefix}/share/locale' -prune -o \
\( -path '*%{_prefix}/share/*' -o \
-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 '\,.*/%{_libdir}/lib\(pcprofile\|memusage\)\.so,d' \
-e '\,.*/bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d'
} | sort > master.filelist
chmod 0444 master.filelist
cat master.filelist \
| grep -v \
-e '%{_libdir}/lib.*_p.a' \
-e '%{_prefix}/include' \
-e '%{_libdir}/lib.*\.a' \
-e '%{_libdir}/.*\.o' \
-e '%{_libdir}/lib.*\.so' \
-e '%{_libdir}/gconv/.*\.so$' \
-e '%{_libdir}/gconv/gconv-modules.d/gconv-modules-extra\.conf$' \
-e '%{_prefix}/bin' \
-e '%{_prefix}/lib/locale' \
-e '%{_prefix}/sbin/[^i]' \
-e '%{_prefix}/share' \
-e '/var/db/Makefile' \
-e '/libnss_.*\.so[0-9.]*$' \
-e 'glibc-benchtests' \
%if %{with nscd}
-e 'nscd' \
%endif
-e 'aux-cache' \
> glibc.filelist
grep -e "gconv-modules-extra.conf" master.filelist > gconv.filelist
GconvBaseModules="ISO8859-15 ISO8859-1 CP1252"
GconvBaseModules="$GconvBaseModules UNICODE UTF-16 UTF-32 UTF-7"
GconvAllModules=$(cat master.filelist |
sed -n 's|%{_libdir}/gconv/\(.*\)\.so|\1|p')
# Put the base modules into glibc and the rest into glibc-gconv-extra
for conv in $GconvAllModules; do
if echo $GconvBaseModules | grep -q $conv; then
grep -E -e "%{_libdir}/gconv/$conv.so$" \
master.filelist >> glibc.filelist
else
grep -E -e "%{_libdir}/gconv/$conv.so$" \
master.filelist >> gconv.filelist
fi
done
for module in compat files dns; do
cat master.filelist \
| grep -E \
-e "/libnss_$module(\.so\.[0-9.]+|-[0-9.]+\.so)$" \
>> glibc.filelist
done
grep -e "libmemusage.so" -e "libpcprofile.so" master.filelist >> glibc.filelist
grep '%{_libdir}/lib.*\.a' master.filelist > devel.filelist
grep '%{_libdir}/.*\.o' < master.filelist >> devel.filelist
grep '%{_libdir}/lib.*\.so' < master.filelist >> devel.filelist
sed -i -e '\,libmemusage.so,d' \
-e '\,libpcprofile.so,d' \
-e '\,/libnss_[a-z]*\.so$,d' \
devel.filelist
grep '%{_prefix}/include' master.filelist >> devel.filelist
grep '%{_prefix}/bin' master.filelist >> common.filelist
grep '%{_prefix}/sbin' master.filelist \
| grep -v '%{_prefix}/sbin/iconvconfig' \
%if %{with nscd}
| grep -v 'nscd' \
%endif
>> common.filelist
grep '%{_prefix}/share' master.filelist \
| grep -v \
-e '%{_prefix}/share/info/libc.info.*' \
-e '%%dir %{prefix}/share/info' \
-e '%%dir %{prefix}/share' \
-e '%{_docdir}' \
>> common.filelist
cat > utils.filelist <<EOF
%if %{without bootstrap}
%{_prefix}/bin/memusage
%{_prefix}/bin/memusagestat
%endif
%{_prefix}/bin/mtrace
%{_prefix}/bin/pcprofiledump
%{_prefix}/bin/xtrace
EOF
grep -E "/libnss_(db|hesiod)\\.so\\.[0-9.]+\$" master.filelist > nss.filelist
grep -E "%{_prefix}/bin/makedb$" master.filelist >> nss.filelist
grep '/libnss_[a-z]*\.so$' master.filelist > nss-devel.filelist
%if %{with benchtests}
find build-%{target}/benchtests -type f -executable | grep -w -v '.build' | while read b; do
echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)"
done >> benchtests.filelist
echo "%{_prefix}/libexec/glibc-benchtests/$(basename %{SOURCE1})" >> benchtests.filelist
echo "%{_prefix}/libexec/glibc-benchtests/$(basename %{SOURCE2})" >> benchtests.filelist
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
echo '%{_prefix}/sbin/nscd' > nscd.filelist
mkdir -p %{buildroot}%{_usrsrc}/%{name}
%if %{with source}
cp -f %{name}-%{version}-%{release}.tar.xz %{buildroot}%{_usrsrc}/%{name}/
%endif
%check
%if %{with testsuite}
pushd build-%{target}
export TIMEOUTFACTOR=16
parent=$$
%make_build check |& tee build_check.log >&2
if ! grep -q '^Summary of test results:$' build_check.log || ! test -s tests.sum ; then
echo "FAILED: test suite build failed!" >& 2
exit 1
fi
set +x
grep -v ^PASS: tests.sum > build.tests.sum.not-passing || true
if test -s build.tests.sum.not-passing ; then
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 <build.tests.sum.not-passing
fi
set -x
popd
PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p'
echo ====================PLT RELOCS LD.SO================
readelf -Wr %{buildroot}/%{_lib}/ld-*.so | sed -n -e "$PLTCMD"
echo ====================PLT RELOCS LIBC.SO==============
readelf -Wr %{buildroot}/%{_lib}/libc-*.so | sed -n -e "$PLTCMD"
echo ====================PLT RELOCS END==================
# run the dynamic loader.
ldso_path="$(find %{buildroot}/ -regextype posix-extended \
-regex '.*/ld(-.*|64|)\.so\.[0-9]+$' -type f | LC_ALL=C sort | head -n1)"
run_ldso="$ldso_path --library-path %{buildroot}/%{_lib}"
LD_SHOW_AUXV=1 $run_ldso /bin/true
%if 0%{?_enable_debug_packages}
# Finally, check if valgrind runs with the new glibc.
# We want to fail building if valgrind can not run with this glibc so
# that we can fix it before updating glibc.
%if %{with valgrind}
$run_ldso /usr/bin/valgrind --error-exitcode=1 \
$run_ldso /usr/bin/true
# true --help performs some memory allocations.
$run_ldso /usr/bin/valgrind --error-exitcode=1 \
$run_ldso /usr/bin/true --help >/dev/null
# with valgrind
%endif
# _enable_debug_packages
%endif
# with testsuite
%endif
%if %{with nscd}
%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
%endif
%post -p <lua>
%glibc_post_funcs
-- (1) Remove multilib libraries from previous installs.
install_libs = { "anl", "BrokenLocale", "c", "dl", "m", "mvec",
"nss_compat", "nss_db", "nss_dns", "nss_files",
"nss_hesiod", "pthread", "resolv", "rt", "SegFault",
"thread_db", "util" }
remove_regexps = {}
for i = 1, #install_libs do
remove_regexps[#remove_regexps + 1] = ("lib" .. install_libs[i]
.. "%%-[2-9]%%.[0-9]+%%.so$")
remove_regexps[#remove_regexps + 1] = ("lib" .. install_libs[i]
.. "%%.so%%.[0-9]+$")
end
remove_regexps[#install_libs + 1] = "libthread_db%%-1%%.0%%.so"
remove_regexps[#install_libs + 2] = "libSegFault%%.so"
local remove_dirs = { "%{_libdir}/i686",
"%{_libdir}/i686/nosegneg",
"%{_libdir}/power6",
"%{_libdir}/power7",
"%{_libdir}/power8",
"%{_libdir}/power9",
}
repeat
local iter = posix.files("%{_libdir}/glibc-hwcaps")
if iter ~= nil then
for entry in iter do
if entry ~= "." and entry ~= ".." then
local path = "%{_libdir}/glibc-hwcaps/" .. entry
if posix.access(path .. "/.", "x") then
remove_dirs[#remove_dirs + 1] = path
end
end
end
end
until true
for _, rdir in ipairs (remove_dirs) do
if posix.access (rdir) then
local remove_files = posix.files (rdir)
for rfile in remove_files do
for _, rregexp in ipairs (remove_regexps) do
local dso = string.match (rfile, rregexp)
if (dso ~= nil) then
os.remove (rdir .. '/' .. rfile)
end
end
end
end
end
-- (2) Update /etc/ld.so.conf
local ldsoconf = "/etc/ld.so.conf"
local ldsoconf_tmp = "/etc/glibc_post_upgrade.ld.so.conf"
if posix.access (ldsoconf) then
local have_include = false
for line in io.lines (ldsoconf) do
if string.match (line, "^include ld.so.conf.d/%%*%%.conf$") ~= nil then
have_include = true
end
end
if not have_include then
local tmp_fd = io.open (ldsoconf_tmp, "w")
if tmp_fd ~= nil then
tmp_fd:write ("include ld.so.conf.d/*.conf\n")
for line in io.lines (ldsoconf) do
tmp_fd:write (line .. "\n")
end
tmp_fd:close ()
local res = os.rename (ldsoconf_tmp, ldsoconf)
if res == nil then
io.stdout:write ("Error: Unable to update configuration file (rename).\n")
end
else
io.stdout:write ("Error: Unable to update configuration file (open).\n")
end
end
end
-- (3) Rebuild ld.so.cache early.
call_ldconfig()
-- (4) Update gconv modules cache.
update_gconv_modules_cache()
-- (5) On upgrades, restart systemd if installed. "systemctl -q" does
if tonumber(arg[2]) >= 2
and posix.access("%{_prefix}/bin/systemctl", "x")
then
local pid = posix.fork()
if pid == 0 then
posix.redirect2null(2)
posix.exec("%{_prefix}/bin/systemctl", "daemon-reexec")
elseif pid > 0 then
posix.wait(pid)
end
end
%posttrans all-langpacks -e -p <lua>
local archive_path = "%{_prefix}/lib/locale/locale-archive"
local real_path = "%{_prefix}/lib/locale/locale-archive.real"
local stat_archive = posix.stat(archive_path)
local stat_real = posix.stat(real_path)
if stat_archive ~= nil and stat_real ~= nil
and (stat_archive.ino ~= stat_real.ino
or stat_archive.dev ~= stat_real.dev) then
posix.unlink(archive_path)
stat_archive = nil
end
if stat_archive == nil then
posix.link(real_path, archive_path)
end
local save_path = archive_path .. ".rpmsave"
if posix.access(save_path) then
posix.unlink(save_path)
end
%post gconv-extra -p <lua>
%glibc_post_funcs
update_gconv_modules_cache ()
%postun gconv-extra -p <lua>
%glibc_post_funcs
update_gconv_modules_cache ()
%files -f glibc.filelist
%license COPYING COPYING.LIB LICENSES
%dir %{_prefix}/%{_lib}/audit
%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 %{_libdir}/gconv/gconv-modules.d
%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
%files -f common.filelist common
%dir %{_prefix}/lib/locale
%dir %{_prefix}/lib/locale/C.utf8
%{_prefix}/lib/locale/C.utf8/*
%files all-langpacks
%{_prefix}/lib/locale/locale-archive
%{_prefix}/lib/locale/locale-archive.real
%{_prefix}/share/locale/*/LC_MESSAGES/libc.mo
%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 utils.filelist utils
%files -f gconv.filelist gconv-extra
%if %{with nscd}
%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
%{_tmpfilesdir}/nscd.conf
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
%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.filelist nss
/var/db/Makefile
%files -f nss-devel.filelist nss-devel
%if %{with benchtests}
%files -f benchtests.filelist benchtests
%endif
%if %{with source}
%files source
%{_usrsrc}/%{name}/%{name}-%{version}-%{release}.tar.xz
%endif
%changelog
* Wed Sep 17 2025 Shuo Wang <abushwang@tencent.com> - 2.38-40
- backport patches from upstream 2.38 branch
* Wed Sep 10 2025 Tracker Robot <trackbot@opencloudos.tech> - 2.38-39
- [Type] bugfix
- [DESC] Apply patches from rpm-tracker
- [Bug Fix] 4db5358c9c101c64128e43943f8e096964b3a921.patch: debug: Wire up tst-longjmp_chk3
- [Bug Fix] 1fc2002d60025143599d0343af80dcfa4585f75a.patch: debug: Adapt fortify tests to libsupport
- [Bug Fix] 4c69161b6343bd47d9c20b8fbdc9cb83627a0bae.patch: x86/cet: Update tst-cet-vfork-1
- [Bug Fix] 89fd3b08eaace2636abfa7e3cc01a2700367cc24.patch: x86/cet: fix shadow stack test scripts
- [Bug Fix] 2c763f814e581895539e7762461aef62cc9465fd.patch: x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode
- [Bug Fix] 78b4845046b3fbe3e4cd6b5e03656dd62342f349.patch: x86/cet: Add -fcf-protection=none before -fcf-protection=branch
- [Bug Fix] f258b3fa5abb35c1a9252c1676d5c1980affc509.patch: x86/cet: Dont assume that SHSTK implies IBT
- [Bug Fix] a4003d1500e4a640dd84d31904ed4bb0ce9d91c7.patch: x86/cet: Check CPU_FEATURE_ACTIVE when CET is disabled
- [Bug Fix] 9397174e482f9266bc77dd057789f46ea0dd5eac.patch: x86/cet: Dont disable CET if not single threaded
- [Unknown] 0d1abcab552707e8fc069dbc8658ae7ff7295022.patch: x86/cet: Dont set CET active by default
- [Bug Fix] d2d1978e9a5663fbcfd7daa54bbfd2f1eb6cb45b.patch: Remove installed header rule on $(..)include/%.h
- [Bug Fix] 9bb20abcaa75479c6d2c412075536dd57d7ef699.patch: x86-64: Save APX registers in ld.so trampoline
* Tue Sep 02 2025 Tracker Robot <trackbot@opencloudos.tech> - 2.38-38
- [Type] bugfix
- [DESC] Apply patches from rpm-tracker
- [Bug Fix] c69b88fc71aa5657662c5c4f176a51034b029ac4.patch: x86-64: Add GLIBC_ABI_DT_X86_64_PLT [BZ #33212]
- [Bug Fix] 1bdce2545588a837f4b6715a90f5a22f9fc99c46.patch: elf: Handle ld.so with LOAD segment gaps in _dl_find_object (bug 31943)
* Mon Aug 25 2025 Peng Fan <fanpeng@loongson.cn> - 2.38-37
- [Type] sync
- [DESC] LoongArch: Sync from glibc upstream
* Wed Jul 30 2025 Shuo Wang <abushwang@tencent.com> - 2.38-36
- backport patch to fix
- sysdeps: sem_open: Clear O_CREAT when semaphore file is expected to exist [BZ #30789]
* Tue Jul 29 2025 Shuo Wang <abushwang@tencent.com> - 2.38-35
- fix CVE-2025-8058
- posix: Fix double-free after allocation failure in regcomp (bug 33185)
* Wed Jul 16 2025 Shuo Wang <abushwang@tencent.com> - 2.38-34
- backport patch to fix [BZ #25847]
- nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786)
- nptl: Use all of g1_start and g_signals
- nptl: rename __condvar_quiesce_and_switch_g1
- nptl: Fix indentation
- nptl: Use a single loop in pthread_cond_wait instaed of a nested loop
- nptl: Remove g_refs from condition variables
- nptl: Remove unnecessary quadruple check in pthread_cond_wait
- nptl: Remove unnecessary catch-all-wake in condvar group switch
- nptl: Update comments and indentation for new condvar implementation
- pthreads NPTL: lost wakeup fix 2
* Thu Jun 26 2025 Xin Cheng <denisecheng@tencent.com> - 2.38-33
- [Type] bugfix
- [DESC] Fixes a regression caused by wrong cores counting in malloc/free
* Tue Jun 10 2025 licunlong <cunlongli@tencent.com> - 2.38-32
- [Type] bugfix
- [DESC] Fixes a regression causing posix_memalign() very slow
* Mon May 26 2025 Shuo Wang <abushwang@tencent.com> - 2.38-31
- fix CVE-2025-4802
- elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
* Wed May 21 2025 xiajiamei <xiejiamei@hygon.cn> - 2.38-30
- backport x86-Add-new-architecture-type-for-Hygon-processors.patch
- backport x86-Add-cache-information-support-for-Hygon-processo.patch
- backport x86-Fix-Zen3-Zen4-ERMS-selection-BZ-30994.patch
- backport x86-Improve-large-memset-perf-with-non-temporal-stor.patch
- backport x86-Add-seperate-non-temporal-tunable-for-memset.patch
- backport x86-Enable-non-temporal-memset-tunable-for-AMD.patch
- backport x86-Fix-value-for-x86_memset_non_temporal_threshold-.patch
- backport x86-Disable-non-temporal-memset-on-Skylake-Server.patch
- backport x86-Use-Avoid_Non_Temporal_Memset-to-control-non-tem.patch
- backport x86-Add-Avoid_STOSB-tunable-to-allow-NT-memset-witho.patch
- backport x86-Enable-non-temporal-memset-for-Hygon-processors.patch
- backport x86-Only-align-destination-to-1x-VEC_SIZE-in-memset-.patch
* Wed Feb 19 2025 Shuo Wang <abushwang@tencent.com> - 2.38-29
- fix CVE-2025-0395
- Fix underallocation of abort_msg_s struct
* Thu Jan 02 2025 Tracker Robot <trackbot@opencloudos.tech> - 2.38-28
- [Type] bugfix
- [DESC] Apply patches from rpm-tracker
- [Performance] 950891b5e7a5307272da3e632832ac9da4c9eeec.patch: Optimize bsearch() implementation for performance
- [Bug Fix] 6fd215d6ae9a4a6e75f7ea18d89db6a10f158eaf.patch: posix: fix system when a child cannot be created [BZ #32450]
* Thu Jan 02 2025 Peng Fan <fanpeng@loongson.cn> - 2.38-27
- LoongArch: Force SHMLBA the same as kernel
* Wed Nov 27 2024 Peng Fan <fanpeng@loongson.cn> - 2.38-26
- LoongArch: Fix errors about PIE.
* Thu Nov 7 2024 Peng Fan <fanpeng@loongson.cn> - 2.38-25
- LoongArch: Sync from glibc upstream
* Tue Nov 5 2024 Shuo Wang <abushwang@tencent.com> - 2.38-24
- requires zh and en defaultly
- fix update glibc fail from old version to 2.38-16 when 'weakdependency=False'
* Tue Oct 8 2024 Shuo Wang <abushwang@tencent.com> - 2.38-23
- backport patch to fix str{n}cmp-evex performance degradation
- x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
* Sun Sep 29 2024 Jian Zhao <jackjzhao@tencent.com> - 2.38-22
- [Type] other
- [DESC] Add a macro check for valgrind_arches to disable Valgrind tests if needed
* Thu Sep 26 2024 Xionghu Luo <xionghuluo@tencent.com> - 2.38-21
- Add flag to mitigate Intel JCC performance issues.
* Thu Sep 26 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 2.38-20
- Rebuilt for clarifying the packages requirement in BaseOS and AppStream
* Fri Aug 16 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 2.38-19
- Rebuilt for loongarch release
* Wed Jul 31 2024 Shuo Wang <abushwang@tencent.com> - 2.38-18
- [Type] other
- [DESC] fix 'Failed to set locale'
* Mon Jul 29 2024 Shuo Wang <abushwang@tencent.com> - 2.38-17
- [Type] other
- [DESC] add fast build path
* Thu Jul 25 2024 Shuo Wang <abushwang@tencent.com> - 2.38-16
- [Type] other
- [DESC] re-write langpack-xx and gconv-extra sub packages
* Tue Jul 9 2024 Shuo Wang <abushwang@tencent.com> - 2.38-15
- [Type] other
- [DESC] mv tar cross toolchains to build step
* Thu Jun 27 2024 <doupengda@loongson.cn> - 2.38-14
- [Type] other
- [DESC] loongarch64 architecture disable check
* Mon Jun 17 2024 Rebuild Robot <rebot@opencloudos.org> - 2.38-13
- [Type] bugfix
- [DESC] Rebuilt for gd
* Fri May 31 2024 Shuo Wang <abushwang@tencent.com> - 2.38-12
- provides a new subpackage included patched source for cross toolchains
* Mon Apr 29 2024 Shuo Wang <abushwang@tencent.com> - 2.38-11
- backport patch to fix CVE-2024-33599 - CVE-2024-33601
- These patch fix buffers and null pointer crashes problem in netgroup
* Thu Apr 18 2024 Shuo Wang <abushwang@tencent.com> - 2.38-10
- backport patch to fix gcc --static too large
* Thu Apr 18 2024 Shuo Wang <abushwang@tencent.com> - 2.38-9
- add some macro for condition build
* Thu Apr 18 2024 Shuo Wang <abushwang@tencent.com> - 2.38-8
- backport patch to fix CVE-2024-2961
- fix out-of-bound writes when writing escape sequence
* Fri Mar 22 2024 Shuo Wang <abushwang@tencent.com> - 2.38-7
- fix lua error message in mock build
* Wed Mar 13 2024 Peng Fan <fanpeng@loongson.cn> - 2.38-6
- LoongArch: sync patch from glibc upstream
- Reduced kernel version requirements
* Thu Feb 1 2024 Shuo Wang <abushwang@tencent.com> - 2.38-5
- backport patch to fix CVE-2023-6246, CVE-2023-6779, CVE-2023-6780
- Fix heap buffer overflow for syslog
* Wed Oct 18 2023 Shuo Wang <abushwang@tencent.com> - 2.38-4
- backport patch to fix CVE-2023-4806 CVE-2023-5156 CVE-2023-4527
* Mon Oct 9 2023 Shuo Wang <abushwang@tencent.com> - 2.38-3
- backport patch to fix CVE-2023-4911
* Fri Sep 08 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 2.38-2
- Rebuilt for OpenCloudOS Stream 23.09
* Mon Aug 28 2023 Shuo Wang <abushwang@tencent.com> - 2.38-1
- update to 2.38
* Thu Aug 10 2023 Shuo Wang <abushwang@tencent.com> - 2.37-3
- fix CVE-2023-25139
* Fri Aug 04 2023 Xin Cheng <denisecheng@tencent.com> - 2.37-2
- add GB18030-2022 charmap
* Mon Jul 24 2023 Shuo Wang <abushwang@tencent.com> - 2.37-1
- update to 2.37
* Fri Apr 28 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 2.35-7
- Rebuilt for OpenCloudOS Stream 23.05
* Thu Apr 20 2023 cunshunxia <cunshunxia@tencent.com> - 2.35-6
- restore nscd.
* Fri Mar 31 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 2.35-5
- Rebuilt for OpenCloudOS Stream 23
* Thu Mar 9 2023 Shuo Wang <abushwang@tencent.com> - 2.35-4
- backport patch to fix shm_open errno no meet POSIX
* Mon Oct 10 2022 Yi Lin <nilusyi@tencent.com> - 2.35-3
- reserve debug symbol in ld.so
* Sat Oct 08 2022 Zhao Zhen <jeremiazhao@tencent.com> - 2.35-2
- disabled annobin to avoid compiling error
* Mon May 30 2022 cunshunxia <cunshunxia@tencent.com> - 2.35-1
- initial build
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/opencloudos-stream/glibc.git
git@gitee.com:opencloudos-stream/glibc.git
opencloudos-stream
glibc
glibc
master

搜索帮助