!744 [sync] PR-740: Fixup LoongArch port problem

From: @openeuler-sync-bot 
Reviewed-by: @liqingqing_1229 
Signed-off-by: @liqingqing_1229
This commit is contained in:
openeuler-ci-bot 2023-11-22 06:11:52 +00:00 committed by Gitee
commit 73df670b0c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 116 additions and 190 deletions

View File

@ -1,7 +1,7 @@
From 82aa8c58156bbaab18bc44a80ca00159557c7f27 Mon Sep 17 00:00:00 2001
From d12d80cdcafd2f84321d311d6ce3e291f0e7b9a9 Mon Sep 17 00:00:00 2001
From: XingLi <lixing@loongson.cn>
Date: Thu, 27 Jul 2023 09:25:19 +0800
Subject: [PATCH 1/3] LoongArch: Add static PIE support
Subject: [PATCH 2/3] LoongArch: Add static PIE support
If the compiler is new enough, enable static PIE support. In the static
PIE version of _start (in rcrt1.o), use la.pcrel instead of la.got
@ -13,8 +13,8 @@ Date: Sat, 24 Sep 2022 15:45:34 +0800
---
sysdeps/loongarch/configure | 51 ++++++++++++++++++++++++++++++++++
sysdeps/loongarch/configure.ac | 38 ++++++++++++++++++++++++-
sysdeps/loongarch/start.S | 14 ++++++++--
3 files changed, 99 insertions(+), 4 deletions(-)
sysdeps/loongarch/start.S | 16 +++++++----
3 files changed, 99 insertions(+), 6 deletions(-)
diff --git a/sysdeps/loongarch/configure b/sysdeps/loongarch/configure
index 1e5abf81..db6341e8 100644
@ -122,21 +122,21 @@ index 67b46ce0..603085cd 100644
+ AC_DEFINE(SUPPORT_STATIC_PIE)
+fi
diff --git a/sysdeps/loongarch/start.S b/sysdeps/loongarch/start.S
index 9ecfb5e2..cb2b6c5b 100644
index 0deda78a..1b15fc9c 100644
--- a/sysdeps/loongarch/start.S
+++ b/sysdeps/loongarch/start.S
@@ -44,9 +44,17 @@ ENTRY (ENTRY_POINT)
@@ -44,9 +44,15 @@ ENTRY (ENTRY_POINT)
cfi_undefined (1)
or a5, a0, zero /* rtld_fini */
-/* We must get symbol main through GOT table, since main may not be local.
- For instance: googletest defines main in dynamic library. */
- la.got a0, t0, main
+#if defined(PIC) && !defined(SHARED)
+/* For static PIE, the GOT cannot be used in _start because the GOT entries are
+ offsets instead of real addresses before __libc_start_main. */
+# define LA la.pcrel
+#else
/* We must get symbol main through GOT table, since main may not be local.
For instance: googletest defines main in dynamic library. */
- la.got a0, t0, main
+# define LA la.got
+#endif
+
@ -144,7 +144,7 @@ index 9ecfb5e2..cb2b6c5b 100644
#ifdef __loongarch_lp64
ld.d a1, sp, 0
addi.d a2, sp, SZREG
@@ -61,10 +69,10 @@ ENTRY (ENTRY_POINT)
@@ -61,9 +67,9 @@ ENTRY (ENTRY_POINT)
move a4, zero /* used to be fini */
or a6, sp, zero /* stack_end */
@ -156,7 +156,6 @@ index 9ecfb5e2..cb2b6c5b 100644
+ LA ra, t0, abort
jirl ra, ra, 0
END (ENTRY_POINT)
--
2.27.0
2.33.0

View File

@ -1,3 +1,16 @@
From 6698be0ce3a7877d68468c56a9217c4d87f74e23 Mon Sep 17 00:00:00 2001
From: XingLi <lixing@loongson.cn>
Date: Fri, 10 Nov 2023 15:00:28 +0800
Subject: [PATCH 1/3] LoongArch Fix ptr mangling demangling and SHMLBA
---
sysdeps/loongarch/__longjmp.S | 7 +++
sysdeps/loongarch/setjmp.S | 7 +++
.../unix/sysv/linux/loongarch/bits/shmlba.h | 24 +++++++
sysdeps/unix/sysv/linux/loongarch/sysdep.h | 62 ++++++++++++++++++-
4 files changed, 97 insertions(+), 3 deletions(-)
create mode 100644 sysdeps/unix/sysv/linux/loongarch/bits/shmlba.h
diff --git a/sysdeps/loongarch/__longjmp.S b/sysdeps/loongarch/__longjmp.S
index 5cc1bc78..fa86f797 100644
--- a/sysdeps/loongarch/__longjmp.S
@ -140,3 +153,6 @@ index b2587091..3f2d691b 100644
+#endif
#endif /* linux/loongarch/sysdep.h */
--
2.33.0

View File

@ -1,7 +1,7 @@
From d29ac2028078612c6b4c25fb5be857ca35b37a3b Mon Sep 17 00:00:00 2001
From dba920d34797ea8e44fca1d2cfc6a08dbe9bb759 Mon Sep 17 00:00:00 2001
From: XingLi <lixing@loongson.cn>
Date: Thu, 27 Jul 2023 09:32:21 +0800
Subject: [PATCH 2/3] LoongArch: Fix the condition to use PC-relative
Subject: [PATCH 3/3] LoongArch: Fix the condition to use PC-relative
addressing in start.S
A start.o compiled from start.S with -DPIC and no -DSHARED is used by
@ -47,8 +47,8 @@ Date: Sun, 2 Oct 2022 22:23:09 +0800
---
sysdeps/loongarch/configure | 29 +++++++++++++++++++++++++----
sysdeps/loongarch/configure.ac | 18 ++++++++++++++----
sysdeps/loongarch/start.S | 11 +++++++----
3 files changed, 46 insertions(+), 12 deletions(-)
sysdeps/loongarch/start.S | 9 +++++++--
3 files changed, 46 insertions(+), 10 deletions(-)
diff --git a/sysdeps/loongarch/configure b/sysdeps/loongarch/configure
index db6341e8..4f0ac252 100644
@ -152,10 +152,10 @@ index 603085cd..bfe4e0f2 100644
if test "$libc_cv_static_pie_on_loongarch" = yes; then
AC_DEFINE(SUPPORT_STATIC_PIE)
diff --git a/sysdeps/loongarch/start.S b/sysdeps/loongarch/start.S
index cb2b6c5b..11e4cede 100644
index 1b15fc9c..87bb1d4e 100644
--- a/sysdeps/loongarch/start.S
+++ b/sysdeps/loongarch/start.S
@@ -44,13 +44,16 @@ ENTRY (ENTRY_POINT)
@@ -44,11 +44,16 @@ ENTRY (ENTRY_POINT)
cfi_undefined (1)
or a5, a0, zero /* rtld_fini */
@ -168,8 +168,6 @@ index cb2b6c5b..11e4cede 100644
+ produce PLT entries for them. GNU ld >= 2.40 supports this. */
# define LA la.pcrel
#else
-/* We must get symbol main through GOT table, since main may not be local.
- For instance: googletest defines main in dynamic library. */
+/* Old GNU ld (< 2.40) cannot handle PC relative address against a non-local
+ function correctly. We deem these old linkers failing to support static PIE
+ and load the addresses from GOT. */
@ -177,5 +175,5 @@ index cb2b6c5b..11e4cede 100644
#endif
--
2.27.0
2.33.0

View File

@ -1,4 +1,4 @@
From 23e0c7122bb0510d9375d4cbf365720e3ce63a91 Mon Sep 17 00:00:00 2001
From c79112989afeadee37d64698eb4a922290b4e436 Mon Sep 17 00:00:00 2001
From: wanghongliang <wanghongliang@loongson.cn>
Date: Wed, 21 Dec 2022 14:39:59 +0800
Subject: [PATCH] LoongArch Port.
@ -24,7 +24,7 @@ Change-Id: Ia618b0101a483a2e07b8ecd114130907eb8ca5db
sysdeps/loongarch/configure | 4 +
sysdeps/loongarch/configure.ac | 6 +
sysdeps/loongarch/dl-irel.h | 48 +
sysdeps/loongarch/dl-machine.h | 359 +++
sysdeps/loongarch/dl-machine.h | 305 +++
sysdeps/loongarch/dl-tls.h | 46 +
sysdeps/loongarch/dl-trampoline.S | 103 +
sysdeps/loongarch/e_sqrtl.c | 39 +
@ -70,21 +70,20 @@ Change-Id: Ia618b0101a483a2e07b8ecd114130907eb8ca5db
sysdeps/loongarch/nptl/pthreaddef.h | 34 +
sysdeps/loongarch/nptl/tcb-offsets.sym | 6 +
sysdeps/loongarch/nptl/tls.h | 138 ++
sysdeps/loongarch/preconfigure | 53 +
sysdeps/loongarch/preconfigure | 52 +
sysdeps/loongarch/setjmp.S | 66 +
sysdeps/loongarch/sfp-machine.h | 102 +
sysdeps/loongarch/sotruss-lib.c | 50 +
sysdeps/loongarch/stackinfo.h | 33 +
sysdeps/loongarch/start.S | 70 +
sysdeps/loongarch/start.S | 69 +
sysdeps/loongarch/sys/asm.h | 58 +
sysdeps/loongarch/sys/ifunc.h | 30 +
sysdeps/loongarch/sys/regdef.h | 98 +
sysdeps/loongarch/tininess.h | 1 +
sysdeps/loongarch/tls-macros.h | 49 +
sysdeps/loongarch/tst-audit.h | 23 +
sysdeps/unix/sysv/linux/fstatat64.c | 12 +-
sysdeps/unix/sysv/linux/loongarch/Implies | 1 +
sysdeps/unix/sysv/linux/loongarch/Makefile | 11 +
sysdeps/unix/sysv/linux/loongarch/Makefile | 10 +
.../unix/sysv/linux/loongarch/arch-syscall.h | 292 +++
.../sysv/linux/loongarch/atomic-machine.h | 196 ++
.../unix/sysv/linux/loongarch/bits/fcntl.h | 61 +
@ -132,7 +131,7 @@ Change-Id: Ia618b0101a483a2e07b8ecd114130907eb8ca5db
.../sysv/linux/loongarch/ucontext-macros.h | 32 +
.../unix/sysv/linux/loongarch/ucontext_i.sym | 31 +
sysdeps/unix/sysv/linux/loongarch/vfork.S | 50 +
126 files changed, 10427 insertions(+), 2 deletions(-)
125 files changed, 10359 insertions(+), 1 deletion(-)
create mode 100644 sysdeps/loongarch/Implies
create mode 100644 sysdeps/loongarch/Makefile
create mode 100644 sysdeps/loongarch/__longjmp.S
@ -273,7 +272,7 @@ index 13101496..89596a83 100644
#undef __LINUX_KERNEL_VERSION
diff --git a/elf/elf.h b/elf/elf.h
index c5315d1b..4119f784 100644
index a64576bb..088f9764 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -358,8 +358,9 @@ typedef struct
@ -287,7 +286,7 @@ index c5315d1b..4119f784 100644
/* Old spellings/synonyms. */
@@ -4036,6 +4037,74 @@ enum
@@ -4038,6 +4039,74 @@ enum
#define R_NDS32_TLS_TPOFF 102
#define R_NDS32_TLS_DESC 119
@ -832,10 +831,10 @@ index 00000000..9fd106a3
+#endif /* dl-irel.h */
diff --git a/sysdeps/loongarch/dl-machine.h b/sysdeps/loongarch/dl-machine.h
new file mode 100644
index 00000000..84f0ab81
index 00000000..b6eac3ae
--- /dev/null
+++ b/sysdeps/loongarch/dl-machine.h
@@ -0,0 +1,359 @@
@@ -0,0 +1,305 @@
+/* Machine-dependent ELF dynamic relocation inline functions.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+
@ -883,14 +882,8 @@ index 00000000..84f0ab81
+#define ELF_MACHINE_IRELATIVE R_LARCH_IRELATIVE
+
+#define elf_machine_type_class(type) \
+ ((ELF_RTYPE_CLASS_PLT * ((type) == ELF_MACHINE_JMP_SLOT \
+ || (__WORDSIZE == 32 && (type) == R_LARCH_TLS_DTPREL32) \
+ || (__WORDSIZE == 32 && (type) == R_LARCH_TLS_DTPMOD32) \
+ || (__WORDSIZE == 32 && (type) == R_LARCH_TLS_TPREL32) \
+ || (__WORDSIZE == 64 && (type) == R_LARCH_TLS_DTPREL64) \
+ || (__WORDSIZE == 64 && (type) == R_LARCH_TLS_DTPMOD64) \
+ || (__WORDSIZE == 64 && (type) == R_LARCH_TLS_TPREL64))) \
+ | (ELF_RTYPE_CLASS_COPY * ((type) == R_LARCH_COPY)))
+ ((ELF_RTYPE_CLASS_PLT *((type) == ELF_MACHINE_JMP_SLOT)) \
+ | (ELF_RTYPE_CLASS_COPY *((type) == R_LARCH_COPY)))
+
+#define ELF_MACHINE_NO_REL 1
+#define ELF_MACHINE_NO_RELA 0
@ -906,78 +899,52 @@ index 00000000..84f0ab81
+ return 1;
+}
+
+/* Runtime address of .got */
+#define _GLOBAL_OFFSET_TABLE_ \
+ ({ \
+ ElfW (Addr) * r; \
+ asm("la.pcrel %0, _GLOBAL_OFFSET_TABLE_" : "=r"(r)); \
+ r; \
+ })
+/* Return the run-time load address of the shared object. */
+static inline ElfW (Addr) elf_machine_load_address (void)
+{
+ extern const ElfW(Ehdr) __ehdr_start attribute_hidden;
+ return (ElfW(Addr)) &__ehdr_start;
+}
+
+/* Return the link-time address of _DYNAMIC. */
+static inline ElfW (Addr) elf_machine_dynamic (void)
+{
+ return _GLOBAL_OFFSET_TABLE_[0];
+}
+
+#define STRINGXP(X) __STRING (X)
+#define STRINGXV(X) STRINGV_ (X)
+#define STRINGV_(...) #__VA_ARGS__
+
+/* Return the run-time load address of the shared object. */
+static inline ElfW (Addr) elf_machine_load_address (void)
+{
+ ElfW (Addr) got_linktime_addr;
+ asm("la.got %0, _GLOBAL_OFFSET_TABLE_"
+ /* Link-time address in GOT entry before runtime relocation */
+ : "=r"(got_linktime_addr));
+ return (ElfW (Addr)) _GLOBAL_OFFSET_TABLE_ - got_linktime_addr;
+ extern ElfW(Dyn) _DYNAMIC[] attribute_hidden;
+ return (ElfW(Addr)) _DYNAMIC - elf_machine_load_address ();
+}
+
+/* Initial entry point code for the dynamic linker.
+ The C function `_dl_start' is the real entry point;
+ its return value is the user program's entry point. */
+
+#define RTLD_START \
+ asm(".text\n\
+#define RTLD_START asm (\
+ ".text\n\
+ " _RTLD_PROLOGUE (ENTRY_POINT) "\
+ .cfi_label .Ldummy \n\
+ " CFI_UNDEFINED (1) " \n\
+ or $a0, $sp, $zero \n\
+ bl _dl_start \n\
+ # Stash user entry point in s0. \n\
+ or $s0, $v0, $zero \n\
+ # See if we were run as a command with the executable file \n\
+ # name as an extra leading argument. \n\
+ la $a0, _dl_skip_args \n\
+ ld.w $a0, $a0, 0 \n\
+ or $s0, $a0, $zero \n\
+ # Load the original argument count. \n\
+ ld.d $a1, $sp, 0 \n\
+ # Subtract _dl_skip_args from it. \n\
+ sub.d $a1, $a1, $a0 \n\
+ # Adjust the stack pointer to skip _dl_skip_args words. \n\
+ slli.d $a0, $a0, 3 \n\
+ add.d $sp, $sp, $a0 \n\
+ # Save back the modified argument count. \n\
+ st.d $a1, $sp, 0 \n\
+ # Call _dl_init (struct link_map *main_map, int argc, char **argv, \
+ char **env) \n\
+ # Call _dl_init (struct link_map *main_map, int argc, \
+ char **argv, char **env) \n\
+ la $a0, _rtld_local \n\
+ ld.d $a0, $a0, 0 \n\
+ addi.d $a2, $sp, 8 \n\
+ slli.d $a3, $a1, 3 \n\
+ add.d $a3, $a3, $a2 \n\
+ addi.d $a3, $a3, 8 \n\
+ # Stash the stack pointer in s1.\n\
+ or $s1, $sp, $zero \n\
+ # Adjust $sp for 16-aligned \n\
+ srli.d $t0, $sp, 4 \n\
+ slli.d $t0, $t0, 4 \n\
+ ori $t1, $sp, 0 \n\
+ addi.d $sp, $t0, -32 \n\
+ st.d $t1, $sp, 24 \n\
+ bstrins.d $sp, $zero, 3, 0 \n\
+ # Call the function to run the initializers. \n\
+ bl _dl_init \n\
+ # Restore the stack pointer for _start.\n\
+ or $sp, $s1, $zero \n\
+ # Pass our finalizer function to _start. \n\
+ ld.d $sp, $sp, 24 \n\
+ la $a0, _dl_fini \n\
+ # Jump to the user entry point. \n\
+ jirl $zero, $s0, 0 \n\
@ -1032,6 +999,14 @@ index 00000000..84f0ab81
+
+ switch (r_type)
+ {
+ case R_LARCH_JUMP_SLOT:
+ case __WORDSIZE == 64 ? R_LARCH_64 : R_LARCH_32:
+ *addr_field = value;
+ break;
+
+ case R_LARCH_NONE:
+ break;
+
+#ifndef RTLD_BOOTSTRAP
+ case __WORDSIZE == 64 ? R_LARCH_TLS_DTPMOD64:
+ R_LARCH_TLS_DTPMOD32:
@ -1087,42 +1062,19 @@ index 00000000..84f0ab81
+ memcpy (reloc_addr, (void *) value, size);
+ break;
+ }
+#endif
+
+#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
+ case R_LARCH_RELATIVE:
+ {
+#if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
+ /* This is defined in rtld.c, but nowhere in the static libc.a;
+ make the reference weak so static programs can still link.
+ This declaration cannot be done when compiling rtld.c
+ (i.e. #ifdef RTLD_BOOTSTRAP) because rtld.c contains the
+ common defn for _dl_rtld_map, which is incompatible with a
+ weak decl in the same file. */
+#ifndef SHARED
+ weak_extern (GL (dl_rtld_map));
+#endif
+ if (map != &GL (dl_rtld_map)) /* Already done in rtld itself. */
+#endif
+ *addr_field = map->l_addr + reloc->r_addend;
+ break;
+ }
+#endif
+
+ case R_LARCH_JUMP_SLOT:
+ case __WORDSIZE == 64 ? R_LARCH_64:
+ R_LARCH_32:
+ *addr_field = value;
+ break;
+
+ case R_LARCH_IRELATIVE:
+ value = map->l_addr + reloc->r_addend;
+ if (__glibc_likely (!skip_ifunc))
+ value = ((ElfW (Addr) (*) (void)) value) ();
+ *addr_field = value;
+ break;
+
+ case R_LARCH_NONE:
+ break;
+#endif
+
+ default:
+ _dl_reloc_bad_type (map, r_type, 0);
@ -1156,13 +1108,6 @@ index 00000000..84f0ab81
+ else
+ *reloc_addr = map->l_mach.plt;
+ }
+ else if (__glibc_unlikely (r_type == R_LARCH_IRELATIVE))
+ {
+ ElfW (Addr) *value = (void *) (l_addr + reloc->r_addend);
+ if (__glibc_likely (!skip_ifunc))
+ value = (ElfW (Addr) *) ((ElfW (Addr) (*) (void)) value) ();
+ *reloc_addr = (ElfW (Addr)) value;
+ }
+ else
+ _dl_reloc_bad_type (map, r_type, 1);
+}
@ -4749,10 +4694,10 @@ index 00000000..3b17e0b7
+#endif /* tls.h */
diff --git a/sysdeps/loongarch/preconfigure b/sysdeps/loongarch/preconfigure
new file mode 100644
index 00000000..118963cd
index 00000000..2e3abb9e
--- /dev/null
+++ b/sysdeps/loongarch/preconfigure
@@ -0,0 +1,53 @@
@@ -0,0 +1,52 @@
+# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
+# Local preconfigure fragment for sysdeps/loongarch
+
@ -4805,7 +4750,6 @@ index 00000000..118963cd
+ base_machine=loongarch
+ ;;
+esac
+
diff --git a/sysdeps/loongarch/setjmp.S b/sysdeps/loongarch/setjmp.S
new file mode 100644
index 00000000..00ea14b2
@ -5083,10 +5027,10 @@ index 00000000..a990a471
+#endif /* stackinfo.h */
diff --git a/sysdeps/loongarch/start.S b/sysdeps/loongarch/start.S
new file mode 100644
index 00000000..9ecfb5e2
index 00000000..0deda78a
--- /dev/null
+++ b/sysdeps/loongarch/start.S
@@ -0,0 +1,70 @@
@@ -0,0 +1,69 @@
+/* Startup code compliant to the ELF LoongArch ABI.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@ -5156,7 +5100,6 @@ index 00000000..9ecfb5e2
+ la.got ra, t0, abort
+ jirl ra, ra, 0
+END (ENTRY_POINT)
+
diff --git a/sysdeps/loongarch/sys/asm.h b/sysdeps/loongarch/sys/asm.h
new file mode 100644
index 00000000..1133f761
@ -5452,36 +5395,6 @@ index 00000000..de120d8a
+#define La_regs La_loongarch_regs
+#define La_retval La_loongarch_retval
+#define int_retval lrv_a0
diff --git a/sysdeps/unix/sysv/linux/fstatat64.c b/sysdeps/unix/sysv/linux/fstatat64.c
index f968e4ef..711ccf7e 100644
--- a/sysdeps/unix/sysv/linux/fstatat64.c
+++ b/sysdeps/unix/sysv/linux/fstatat64.c
@@ -135,6 +135,16 @@ fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf,
return r;
}
+#if defined (__loongarch__)
+#if (__WORDSIZE == 32 \
+ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \
+ || defined STAT_HAS_TIME32 \
+ || (!defined __NR_newfstatat && !defined __NR_fstatat64)
+# define FSTATAT_USE_STATX 1
+#else
+# define FSTATAT_USE_STATX 0
+#endif
+#else
#if (__WORDSIZE == 32 \
&& (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \
|| defined STAT_HAS_TIME32
@@ -142,7 +152,7 @@ fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf,
#else
# define FSTATAT_USE_STATX 0
#endif
-
+#endif
int
__fstatat64_time64 (int fd, const char *file, struct __stat64_t64 *buf,
int flag)
diff --git a/sysdeps/unix/sysv/linux/loongarch/Implies b/sysdeps/unix/sysv/linux/loongarch/Implies
new file mode 100644
index 00000000..e52b1ac3
@ -5491,10 +5404,10 @@ index 00000000..e52b1ac3
+loongarch/nptl
diff --git a/sysdeps/unix/sysv/linux/loongarch/Makefile b/sysdeps/unix/sysv/linux/loongarch/Makefile
new file mode 100644
index 00000000..99ac734f
index 00000000..e205ce83
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/loongarch/Makefile
@@ -0,0 +1,11 @@
@@ -0,0 +1,10 @@
+ifeq ($(subdir),elf)
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
@ -5505,7 +5418,6 @@ index 00000000..99ac734f
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
new file mode 100644
index 00000000..c1ff6cb6
@ -11472,5 +11384,5 @@ index 00000000..585f98ee
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
--
2.31.1
2.33.0

View File

@ -70,7 +70,7 @@
##############################################################################
Name: glibc
Version: 2.34
Release: 140
Release: 141
Summary: The GNU libc libraries
License: %{all_license}
URL: http://www.gnu.org/software/glibc/
@ -306,7 +306,6 @@ Patch9018: 0002-elf-ld.so-add-testcase-for-ld.so-load-shared-object-.patch
Patch9019: 0003-elf-ld.so-use-special-mmap-for-hugepage-to-get-symbo.patch
Patch9020: malloc-use-__get_nprocs-replace-__get_nprocs_sched.patch
Patch9021: x86-use-total-l3cache-for-non_temporal_threshold.patch
%ifarch loongarch64
Patch9022: login-Add-back-libutil-as-an-empty-library.patch
Patch9023: malloc-Fix-malloc-debug-for-2.35-onwards.patch
Patch9024: LoongArch-Port.patch
@ -321,7 +320,6 @@ Patch9032: LoongArch-Fix-ptr-mangling-demangling-and-SHMLBA.patch
Patch9033: LoongArch-Add-static-PIE-support.patch
Patch9034: LoongArch-Fix-the-condition-to-use-PC-relative-addre.patch
Patch9035: LoongArch-Further-refine-the-condition-to-enable-sta.patch
%endif
Patch9036: add-pthread_cond_clockwait-GLIBC_2_28.patch
Patch9037: 0001-ld.so-support-ld.so-mmap-hugetlb-hugepage-according-.patch
Patch9038: 0002-elf-ld.so-keep-compatible-with-the-original-policy-o.patch
@ -1228,7 +1226,7 @@ elf/ld.so --library-path .:elf:nptl:dlfcn \
%endif
popd
%endif # %{run_glibc_tests}
%endif
##############################################################################
# Install and uninstall scripts
@ -1504,6 +1502,9 @@ fi
%endif
%changelog
* Mon Nov 13 2023 lixing <lixing@loongson.cn> - 2.34-141
- Fixup LoongArch Port errors
* Thu Nov 9 2023 doupengda <doupengda@loongson.cn> - 2.34-140
- Modify patch 9030 defined multiple times