Projects
openEuler:Mainline
glibc
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:glibc.spec
Changed
@@ -65,7 +65,7 @@ ############################################################################## Name: glibc Version: 2.36 -Release: 14 +Release: 16 Summary: The GNU libc libraries License: %{all_license} URL: http://www.gnu.org/software/glibc/ @@ -113,6 +113,7 @@ Patch9013: x86-use-total-l3cache-for-non_temporal_threshold.patch Patch9014: strcmp-delete-align-for-loop_aligned.patch Patch9015: add-pthread_cond_clockwait-GLIBC_2_28.patch +Patch9016: add-GB18030-2022-charmap.patch Provides: ldconfig rtld(GNU_HASH) bundled(gnulib) @@ -1272,6 +1273,12 @@ %endif %changelog +* Mon Jun 5 2023 li-miaomiao_zhr <mmlidc@isoftstone.com> - 2.36-16 +- processing of annotated patch files in spec files + +* Wed May 10 2023 lijianglin<lijianglin2@huawei.com> - 2.36-15 +- add GB18030-2022 charmap + * Mon May 08 2023 laokz <zhangkai@iscas.ac.cn> - 2.36-14 - Backport RISC-V patches: - stdlib/strfrom: Add copysign to fix NAN issue (from v2.37)
View file
_service:tar_scm:0001-add-base-files-for-libphtread-condition-family.patch
Deleted
@@ -1,2321 +0,0 @@ -From 76a50749f7af5935ba3739e815aa6a16ae4440d1 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper <drepper@redhat.com> -Date: Tue Nov 26 22:50:54 2002 +0000 -Subject: PATCH 1/9 0001 - -since https://sourceware.org/git/?p=glibc.git;a=commit;h=ed19993b5b0d05d62cc883571519a67dae481a14 -delete pthread_condtion function.However, using these interfaces has better performance. -Therefore, we add a subpacket to use these interfaces. -you can use it by adding LD_PRELOAD=./libpthreadcond.so in front of your program (eg: -LD_PRELOAD=./libpthreadcond.so ./test). use with-compat_2_17 to compile it. -WARNING:2.17 version does not meet the posix standard, you should pay attention when using it. -add pthread_cond_clockwait to prevent process hang up when libpthread-2.17 and libpthread-2.28 are used together. -use pthread_cond_common to implement the public functions of pthread_cond_clockwait,pthread_cond_clockwait and pthread_cond_timedwait. - -Add some base files for the libpthread_condition family. -Including but not limited to the following submission: -6efd481484e -a88c9263686 -76a50749f7a -69431c9a21f -5bd8a24966d - ---- - nptl_2_17/cancellation_2_17.c | 60 ++ - nptl_2_17/cleanup_compat_2_17.c | 50 ++ - nptl_2_17/pthread_cond_broadcast_2_17.c | 101 +++ - nptl_2_17/pthread_cond_destroy_2_17.c | 86 +++ - nptl_2_17/pthread_cond_init_2_17.c | 49 ++ - nptl_2_17/pthread_cond_signal_2_17.c | 84 +++ - nptl_2_17/pthread_cond_wait_2_17.c | 329 ++++++++++ - nptl_2_17/pthread_condattr_getclock_2_17.c | 28 + - nptl_2_17/pthread_condattr_getpshared_2_17.c | 28 + - nptl_2_17/pthread_condattr_init_2_17.c | 33 + - nptl_2_17/pthread_condattr_setclock_2_17.c | 45 ++ - nptl_2_17/pthread_mutex_cond_lock_2_17.c | 21 + - nptl_2_17/pthread_mutex_lock_2_17.c | 652 +++++++++++++++++++ - nptl_2_17/pthread_mutex_unlock_2_17.c | 361 ++++++++++ - nptl_2_17/tpp_2_17.c | 195 ++++++ - nptl_2_17/vars_2_17.c | 43 ++ - 16 files changed, 2165 insertions(+) - create mode 100644 nptl_2_17/cancellation_2_17.c - create mode 100644 nptl_2_17/cleanup_compat_2_17.c - create mode 100644 nptl_2_17/pthread_cond_broadcast_2_17.c - create mode 100644 nptl_2_17/pthread_cond_destroy_2_17.c - create mode 100644 nptl_2_17/pthread_cond_init_2_17.c - create mode 100644 nptl_2_17/pthread_cond_signal_2_17.c - create mode 100644 nptl_2_17/pthread_cond_wait_2_17.c - create mode 100644 nptl_2_17/pthread_condattr_getclock_2_17.c - create mode 100644 nptl_2_17/pthread_condattr_getpshared_2_17.c - create mode 100644 nptl_2_17/pthread_condattr_init_2_17.c - create mode 100644 nptl_2_17/pthread_condattr_setclock_2_17.c - create mode 100644 nptl_2_17/pthread_mutex_cond_lock_2_17.c - create mode 100644 nptl_2_17/pthread_mutex_lock_2_17.c - create mode 100644 nptl_2_17/pthread_mutex_unlock_2_17.c - create mode 100644 nptl_2_17/tpp_2_17.c - create mode 100644 nptl_2_17/vars_2_17.c - -diff --git a/nptl_2_17/cancellation_2_17.c b/nptl_2_17/cancellation_2_17.c -new file mode 100644 -index 00000000..5c9ce572 ---- /dev/null -+++ b/nptl_2_17/cancellation_2_17.c -@@ -0,0 +1,60 @@ -+/* Copyright (C) 2002-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include "pthreadP_2_17.h" -+#include <setjmp.h> -+#include <stdlib.h> -+#include <futex-internal.h> -+ -+int -+__pthread_enable_asynccancel (void) -+{ -+ struct pthread *self = THREAD_SELF; -+ -+ int oldval = THREAD_GETMEM (self, canceltype); -+ THREAD_SETMEM (self, canceltype, PTHREAD_CANCEL_ASYNCHRONOUS); -+ -+ int ch = THREAD_GETMEM (self, cancelhandling); -+ -+ if (self->cancelstate == PTHREAD_CANCEL_ENABLE -+ && (ch & CANCELED_BITMASK) -+ && !(ch & EXITING_BITMASK) -+ && !(ch & TERMINATED_BITMASK)) -+ { -+ THREAD_SETMEM (self, result, PTHREAD_CANCELED); -+ __do_cancel (); -+ } -+ -+ return oldval; -+} -+libc_hidden_def (__pthread_enable_asynccancel) -+ -+/* See the comment for __pthread_enable_asynccancel regarding -+ the AS-safety of this function. */ -+void -+__pthread_disable_asynccancel (int oldtype) -+{ -+ /* If asynchronous cancellation was enabled before we do not have -+ anything to do. */ -+ if (oldtype == PTHREAD_CANCEL_ASYNCHRONOUS) -+ return; -+ -+ struct pthread *self = THREAD_SELF; -+ self->canceltype = PTHREAD_CANCEL_DEFERRED; -+} -+libc_hidden_def (__pthread_disable_asynccancel) -diff --git a/nptl_2_17/cleanup_compat_2_17.c b/nptl_2_17/cleanup_compat_2_17.c -new file mode 100644 -index 00000000..53cf903d ---- /dev/null -+++ b/nptl_2_17/cleanup_compat_2_17.c -@@ -0,0 +1,50 @@ -+/* Copyright (C) 2002-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include "pthreadP_2_17.h" -+#include <stdlib.h> -+ -+ -+void -+_pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, -+ void (*routine) (void *), void *arg) -+{ -+ struct pthread *self = THREAD_SELF; -+ -+ buffer->__routine = routine; -+ buffer->__arg = arg; -+ buffer->__prev = THREAD_GETMEM (self, cleanup); -+ -+ THREAD_SETMEM (self, cleanup, buffer); -+} -+strong_alias (_pthread_cleanup_push, __pthread_cleanup_push) -+ -+ -+void -+_pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) -+{ -+ struct pthread *self __attribute ((unused)) = THREAD_SELF; -+ -+ THREAD_SETMEM (self, cleanup, buffer->__prev); -+ -+ /* If necessary call the cleanup routine after we removed the -+ current cleanup block from the list. */ -+ if (execute) -+ buffer->__routine (buffer->__arg); -+} -+strong_alias (_pthread_cleanup_pop, __pthread_cleanup_pop) -diff --git a/nptl_2_17/pthread_cond_broadcast_2_17.c b/nptl_2_17/pthread_cond_broadcast_2_17.c -new file mode 100644 -index 00000000..df39c99b ---- /dev/null -+++ b/nptl_2_17/pthread_cond_broadcast_2_17.c -@@ -0,0 +1,101 @@ -+/* Copyright (C) 2003-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+
View file
_service:tar_scm:0002-add-header-files-for-libphtread_2_17_so.patch
Deleted
@@ -1,2609 +0,0 @@ -From 76a50749f7af5935ba3739e815aa6a16ae4440d1 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper <drepper@redhat.com> -Date: Tue Nov 26 22:50:54 2002 +0000 -Subject: PATCH 2/9 build extra lipthreadcond so - -To successfully build some header files that reference glibc-2.17 - -Including but not limited to the following submission: -76a50749f7a -d5efd131d4e -eab380d8ec9 - ---- - nptl_2_17/bits/pthreadtypes_2_17.h | 127 +++ - nptl_2_17/bits/thread-shared-types_2_17.h | 186 ++++ - nptl_2_17/internaltypes_2_17.h | 179 ++++ - nptl_2_17/kernel-features_2_17.h | 162 +++ - nptl_2_17/pthreadP_2_17.h | 714 +++++++++++++ - nptl_2_17/pthread_2_17.h | 1175 +++++++++++++++++++++ - 6 files changed, 2543 insertions(+) - create mode 100644 nptl_2_17/bits/pthreadtypes_2_17.h - create mode 100644 nptl_2_17/bits/thread-shared-types_2_17.h - create mode 100644 nptl_2_17/internaltypes_2_17.h - create mode 100644 nptl_2_17/kernel-features_2_17.h - create mode 100644 nptl_2_17/pthreadP_2_17.h - create mode 100644 nptl_2_17/pthread_2_17.h - -diff --git a/nptl_2_17/bits/pthreadtypes_2_17.h b/nptl_2_17/bits/pthreadtypes_2_17.h -new file mode 100644 -index 00000000..da5521c1 ---- /dev/null -+++ b/nptl_2_17/bits/pthreadtypes_2_17.h -@@ -0,0 +1,127 @@ -+/* Declaration of common pthread types for all architectures. -+ Copyright (C) 2017-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#ifndef _BITS_PTHREADTYPES_COMMON_H -+# define _BITS_PTHREADTYPES_COMMON_H 1 -+ -+/* For internal mutex and condition variable definitions. */ -+#include "thread-shared-types_2_17.h" -+ -+/* Thread identifiers. The structure of the attribute type is not -+ exposed on purpose. */ -+typedef unsigned long int pthread_t; -+ -+ -+/* Data structures for mutex handling. The structure of the attribute -+ type is not exposed on purpose. */ -+typedef union -+{ -+ char __size__SIZEOF_PTHREAD_MUTEXATTR_T; -+ int __align; -+} pthread_mutexattr_t; -+ -+ -+/* Data structure for condition variable handling. The structure of -+ the attribute type is not exposed on purpose. */ -+typedef union -+{ -+ char __size__SIZEOF_PTHREAD_CONDATTR_T; -+ int __align; -+} pthread_condattr_t; -+ -+ -+/* Keys for thread-specific data */ -+typedef unsigned int pthread_key_t; -+ -+ -+/* Once-only execution */ -+typedef int __ONCE_ALIGNMENT pthread_once_t; -+ -+ -+union pthread_attr_t -+{ -+ char __size__SIZEOF_PTHREAD_ATTR_T; -+ long int __align; -+}; -+#ifndef __have_pthread_attr_t -+typedef union pthread_attr_t pthread_attr_t; -+# define __have_pthread_attr_t 1 -+#endif -+ -+ -+typedef union -+{ -+ struct __pthread_mutex_s __data; -+ char __size__SIZEOF_PTHREAD_MUTEX_T; -+ long int __align; -+} pthread_mutex_t; -+ -+ -+typedef union -+{ -+struct -+{ -+ int __lock; -+ unsigned int __futex; -+ __extension__ unsigned long long int __total_seq; -+ __extension__ unsigned long long int __wakeup_seq; -+ __extension__ unsigned long long int __woken_seq; -+ void *__mutex; -+ unsigned int __nwaiters; -+ unsigned int __broadcast_seq; -+}__data; -+ char __size__SIZEOF_PTHREAD_COND_T; -+ long int __align; -+} pthread_cond_t; -+ -+ -+/* Data structure for reader-writer lock variable handling. The -+ structure of the attribute type is deliberately not exposed. */ -+typedef union -+{ -+ struct __pthread_rwlock_arch_t __data; -+ char __size__SIZEOF_PTHREAD_RWLOCK_T; -+ long int __align; -+} pthread_rwlock_t; -+ -+typedef union -+{ -+ char __size__SIZEOF_PTHREAD_RWLOCKATTR_T; -+ long int __align; -+} pthread_rwlockattr_t; -+ -+ -+/* POSIX spinlock data type. */ -+typedef volatile int pthread_spinlock_t; -+ -+ -+/* POSIX barriers data type. The structure of the type is -+ deliberately not exposed. */ -+typedef union -+{ -+ char __size__SIZEOF_PTHREAD_BARRIER_T; -+ long int __align; -+} pthread_barrier_t; -+ -+typedef union -+{ -+ char __size__SIZEOF_PTHREAD_BARRIERATTR_T; -+ int __align; -+} pthread_barrierattr_t; -+ -+#endif -diff --git a/nptl_2_17/bits/thread-shared-types_2_17.h b/nptl_2_17/bits/thread-shared-types_2_17.h -new file mode 100644 -index 00000000..c855d0d8 ---- /dev/null -+++ b/nptl_2_17/bits/thread-shared-types_2_17.h -@@ -0,0 +1,186 @@ -+/* Common threading primitives definitions for both POSIX and C11. -+ Copyright (C) 2017-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#ifndef _THREAD_SHARED_TYPES_H -+#define _THREAD_SHARED_TYPES_H 1 -+ -+#include <compat_pthread_2_17.h> -+/* Arch-specific definitions. Each architecture must define the following -+ macros to define the expected sizes of pthread data types: -+ -+ __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. -+ __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. -+ __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. -+ __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. -+ __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. -+ __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. -+ __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. -+ __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
View file
_service:tar_scm:0003-add-build-script-and-files-of-libpthread_2_17_so.patch
Deleted
@@ -1,135 +0,0 @@ -From 7cb15fbef45361db6ad718077a4f0a6d2dc845f2 Mon Sep 17 00:00:00 2001 -From: Yang Yanchao <yangyanchao6@huawei.com> -Date: Wed Nov 24 09:31:31 2021 +0800 -Subject: PATCH 3/9 build extra lipthreadcond so - -Add the build script and file of libpthread-2.17.so - ---- - nptl_2_17/Makefile | 52 +++++++++++++++++++++++++++ - nptl_2_17/build_libpthread-2.17.so.sh | 10 ++++++ - nptl_2_17/libpthread-2.17-aarch64.map | 14 ++++++++ - nptl_2_17/libpthread-2.17-x86_64.map | 14 ++++++++ - 4 files changed, 90 insertions(+) - create mode 100644 nptl_2_17/Makefile - create mode 100644 nptl_2_17/build_libpthread-2.17.so.sh - create mode 100644 nptl_2_17/libpthread-2.17-aarch64.map - create mode 100644 nptl_2_17/libpthread-2.17-x86_64.map - -diff --git a/nptl_2_17/Makefile b/nptl_2_17/Makefile -new file mode 100644 -index 00000000..f248ce56 ---- /dev/null -+++ b/nptl_2_17/Makefile -@@ -0,0 +1,52 @@ -+include libpthread-2.17_config -+subdir=libpthread-2.17 -+objdir=../$(build_dir)/ -+ -+ -+ifdef subdir -+.. := ../ -+endif -+ -+objpfx := $(patsubst %//,%/,$(objdir)/$(subdir)/) -+common-objpfx = $(objdir)/ -+common-objdir = $(objdir) -+ -+sysdep_dir := $(..)sysdeps -+export sysdep_dir := $(sysdep_dir) -+ -+include $(common-objpfx)soversions.mk -+include $(common-objpfx)config.make -+ -+uses-callbacks = -fexceptions -+ -+sysdirs := $(foreach D,$(config-sysdirs),$(firstword $(filter /%,$D) $(..)$D)) -+ -++sysdep_dirs = $(sysdirs) -++sysdep_dirs := $(objdir) $(+sysdep_dirs) -+ -++sysdep-includes := $(foreach dir,$(+sysdep_dirs), $(addprefix -I,$(wildcard $(dir)/include) $(dir))) -+ -+compile_obj = pthread_cond_wait_2_17.os pthread_cond_signal_2_17.os pthread_cond_broadcast_2_17.os pthread_cond_init_2_17.os pthread_cond_destroy_2_17.os pthread_condattr_getclock_2_17.os pthread_condattr_getpshared_2_17.os pthread_condattr_init_2_17.os pthread_condattr_setclock_2_17.os cleanup_compat_2_17.os pthread_mutex_lock_2_17.os pthread_mutex_unlock_2_17.os tpp_2_17.os vars_2_17.os pause_nocancel_2_17.os lll_timedlock_wait_2_17.os pthread_mutex_cond_lock_2_17.os cancellation_2_17.os lowlevellock_2_17.os unwind_2_17.os -+ -+ifeq (x86_64, $(arch)) -+compile_obj += elision-timed_2_17.os elision-trylock_2_17.os elision-lock_2_17.os elision-unlock_2_17.os -+endif -+ -+exist_obj_dir = $(foreach n,$(exist_obj),../$(build_dir)/nptl/$(n)) -+ -+compile_obj_dir = $(foreach n,$(compile_obj),../$(build_dir)/nptl/$(n)) -+ -+CFLAGS = -c -std=gnu11 -fgnu89-inline -fPIE -DNDEBUG -O2 -Wall -Werror -Wp,-D_GLIBCXX_ASSERTIONS -Wundef -Wwrite-strings -fasynchronous-unwind-tables -fmerge-all-constants -frounding-math -fstack-clash-protection -fstack-protector-strong -g -mtune=generic -Wstrict-prototypes -Wold-style-definition -fno-math-errno -fPIC -fexceptions -fasynchronous-unwind-tables -ftls-model=initial-exec -D_FORTIFY_SOURCE=2 -DSHARED -DTOP_NAMESPACE=glibc -+ -+Headers = -I../include -I../$(build_dir)/nptl $(+sysdep-includes) -I../nptl_2_17 -I../nptl -I../libio -I../. -D_LIBC_REENTRANT -include ../$(build_dir)/libc-modules.h -include include/libc-symbols.h -+ -+all: libpthread-2.17.so -+ -+libpthread-2.17.so : $(compile_obj) libpthread-2.17_pic.a -+ gcc -shared -static-libgcc -Wl,-O1 -Wl,-z,defs -Wl,-dynamic-linker=/usr/local/lib/$(ld.so-version) -B../$(build_dir)/csu/ -Wl,--version-script=libpthread-2.17-$(arch).map -Wl,-soname=libpthread-2.17.so.0 -Wl,-z,noexecstack -Wtrampolines -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,now -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst -L../$(build_dir) -L../$(build_dir)/math -L../$(build_dir)/elf -L../$(build_dir)/dlfcn -L../$(build_dir)/nss -L../$(build_dir)/nis -L../$(build_dir)/rt -L../$(build_dir)/resolv -L../$(build_dir)/mathvec -L../$(build_dir)/support -L../$(build_dir)/crypt -L../$(build_dir)/nptl -Wl,-rpath-link=../$(build_dir):../$(build_dir)/math:../$(build_dir)/elf:../$(build_dir)/dlfcn:../$(build_dir)/nss:../$(build_dir)/nis:../$(build_dir)/rt:../$(build_dir)/resolv:../$(build_dir)/mathvec:../$(build_dir)/support:../$(build_dir)/crypt:../$(build_dir)/nptl -o ../$(build_dir)/nptl/libpthread-2.17.so ../$(build_dir)/csu/abi-note.o -Wl,--whole-archive ../$(build_dir)/nptl/libpthread-2.17_pic.a -Wl,--no-whole-archive -Wl,--start-group ../$(build_dir)/libc.so ../$(build_dir)/libc_nonshared.a -Wl,--as-needed ../$(build_dir)/elf/ld.so -Wl,--no-as-needed -Wl,--end-group -+ -+libpthread-2.17_pic.a : $(compile_obj_dir) $(exist_obj_dir) -+ ar cruv ../$(build_dir)/nptl/$@ $^ -+ -+$(compile_obj) : %.os : %.c -+ gcc $< $(CFLAGS) $(Headers) -o ../$(build_dir)/nptl/$@ -MD -MP -MF ../$(build_dir)/nptl/$@.dt -MT ../$(build_dir)/nptl/$@ -diff --git a/nptl_2_17/build_libpthread-2.17.so.sh b/nptl_2_17/build_libpthread-2.17.so.sh -new file mode 100644 -index 00000000..bdb97d0f ---- /dev/null -+++ b/nptl_2_17/build_libpthread-2.17.so.sh -@@ -0,0 +1,10 @@ -+#!/bin/sh -+set -e -+build_arch=$1 -+build_dir=$2 -+config_dir=libpthread-2.17_config -+ -+echo arch=${build_arch} > ${config_dir} -+echo build_dir=${build_dir} >> ${config_dir} -+make -+rm -rf ${config_dir} -diff --git a/nptl_2_17/libpthread-2.17-aarch64.map b/nptl_2_17/libpthread-2.17-aarch64.map -new file mode 100644 -index 00000000..2c49fe17 ---- /dev/null -+++ b/nptl_2_17/libpthread-2.17-aarch64.map -@@ -0,0 +1,14 @@ -+GLIBC_2.17 { -+ global: -+ pthread_cond_init; pthread_cond_destroy; -+ pthread_cond_signal; pthread_cond_broadcast; -+ pthread_cond_wait; pthread_cond_timedwait; -+ local: -+ *; -+}; -+GLIBC_2.34 { -+ global: -+ pthread_cond_clockwait; -+ local: -+ *; -+}; -diff --git a/nptl_2_17/libpthread-2.17-x86_64.map b/nptl_2_17/libpthread-2.17-x86_64.map -new file mode 100644 -index 00000000..b01e7d0d ---- /dev/null -+++ b/nptl_2_17/libpthread-2.17-x86_64.map -@@ -0,0 +1,14 @@ -+GLIBC_2.3.2 { -+ global: -+ pthread_cond_init; pthread_cond_destroy; -+ pthread_cond_signal; pthread_cond_broadcast; -+ pthread_cond_wait; pthread_cond_timedwait; -+ local: -+ *; -+}; -+GLIBC_2.34 { -+ global: -+ pthread_cond_clockwait; -+ local: -+ *; -+}; --- -2.30.0 -
View file
_service:tar_scm:0004-add-two-header-files-with-some-deleted-macros.patch
Deleted
@@ -1,166 +0,0 @@ -From d6e6184b4f10ef2cbdec09eae60350ced71e3de7 Mon Sep 17 00:00:00 2001 -From: Yang Yanchao <yangyanchao6@huawei.com> -Date: Wed Nov 24 09:31:31 2021 +0800 -Subject: PATCH 4/9 build extra lipthreadcond so - -For compatibility with glibc2.17, two header files are added with some -deleted macros. - ---- - nptl_2_17/compat_pthread_2_17.h | 61 +++++++++++++++++++++++++++ - nptl_2_17/old_macros_2_17.h | 75 +++++++++++++++++++++++++++++++++ - 2 files changed, 136 insertions(+) - create mode 100644 nptl_2_17/compat_pthread_2_17.h - create mode 100644 nptl_2_17/old_macros_2_17.h - -diff --git a/nptl_2_17/compat_pthread_2_17.h b/nptl_2_17/compat_pthread_2_17.h -new file mode 100644 -index 00000000..d13051ba ---- /dev/null -+++ b/nptl_2_17/compat_pthread_2_17.h -@@ -0,0 +1,61 @@ -+#ifndef _COMPAT_PTHREAD_2_17_H -+#define _COMPAT_PTHREAD_2_17_H 1 -+ -+#include <bits/struct_rwlock.h> -+#include <unistd.h> -+ -+#ifdef __x86_64__ -+#define __PTHREAD_COMPAT_PADDING_MID -+#define __PTHREAD_COMPAT_PADDING_END -+#define __PTHREAD_MUTEX_LOCK_ELISION 1 -+# define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0 -+# define __PTHREAD_MUTEX_USE_UNION 0 -+//# define ENABLE_ELISION_SUPPORT 1 -+#else -+#define __PTHREAD_COMPAT_PADDING_MID -+#define __PTHREAD_COMPAT_PADDING_END -+#define __PTHREAD_MUTEX_LOCK_ELISION 0 -+#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0 -+#define __PTHREAD_MUTEX_USE_UNION 0 -+#endif -+ -+#define CANCELSTATE_BIT 0 -+#define CANCELSTATE_BITMASK (0x01 << CANCELSTATE_BIT) -+ /* Bit set if asynchronous cancellation mode is selected. */ -+#define CANCELTYPE_BIT 1 -+#define CANCELTYPE_BITMASK (0x01 << CANCELTYPE_BIT) -+ /* Bit set if canceling has been initiated. */ -+#define CANCELING_BIT 2 -+#define CANCELING_BITMASK (0x01 << CANCELING_BIT) -+ /* Bit set if canceled. */ -+#define CANCELED_BIT 3 -+#define CANCELED_BITMASK (0x01 << CANCELED_BIT) -+ /* Bit set if thread is exiting. */ -+#define EXITING_BIT 4 -+#define EXITING_BITMASK (0x01 << EXITING_BIT) -+ /* Bit set if thread terminated and TCB is freed. */ -+#define TERMINATED_BIT 5 -+#define TERMINATED_BITMASK (0x01 << TERMINATED_BIT) -+ /* Bit set if thread is supposed to change XID. */ -+#define SETXID_BIT 6 -+#define SETXID_BITMASK (0x01 << SETXID_BIT) -+ /* Mask for the rest. Helps the compiler to optimize. */ -+#define CANCEL_RESTMASK 0xffffff80 -+ -+ -+#define CANCEL_ENABLED_AND_CANCELED_AND_ASYNCHRONOUS(value) \ -+ (((value) & (CANCELSTATE_BITMASK | CANCELTYPE_BITMASK | CANCELED_BITMASK \ -+ | EXITING_BITMASK | CANCEL_RESTMASK | TERMINATED_BITMASK)) \ -+ == (CANCELTYPE_BITMASK | CANCELED_BITMASK)) -+ -+# define INTERNAL_SYSCALL_DECL(err) do { } while (0) -+ -+/* -+ * __pause_nocancel delete by fbb4a3143724ef3f044a4f05351,add it -+ */ -+ -+__typeof (pause) __pause_nocancel; -+hidden_proto (__pause_nocancel) -+ -+#endif -+ -diff --git a/nptl_2_17/old_macros_2_17.h b/nptl_2_17/old_macros_2_17.h -new file mode 100644 -index 00000000..334b2ab1 ---- /dev/null -+++ b/nptl_2_17/old_macros_2_17.h -@@ -0,0 +1,75 @@ -+#ifndef _OLD_MACROS_2_17_H -+#define _OLD_MACROS_2_17_H 1 -+ -+/* -+ * Contains macros that have been defined in glibc2.34. -+ * Cancel the definition and use the old version. -+ * This header file needs to be included at the end. -+ */ -+#undef __lll_unlock -+#define __lll_unlock(futex, private) \ -+ ((void) \ -+ ({ \ -+ int *__futex = (futex); \ -+ int __private = (private); \ -+ int __oldval = atomic_exchange_rel (__futex, 0); \ -+ if (__glibc_unlikely (__oldval > 1)) \ -+ lll_futex_wake (__futex, 1, __private); \ -+ })) -+ -+#undef lll_unlock -+#define lll_unlock(futex, private) \ -+ __lll_unlock (&(futex), private) -+ -+extern int __lll_timedlock_wait (int *futex, const struct timespec *, -+ int private) attribute_hidden; -+ -+ -+/* As __lll_lock, but with a timeout. If the timeout occurs then return -+ ETIMEDOUT. If ABSTIME is invalid, return EINVAL. */ -+#define __lll_timedlock(futex, abstime, private) \ -+ ({ \ -+ int *__futex = (futex); \ -+ int __val = 0; \ -+ \ -+ if (__glibc_unlikely \ -+ (atomic_compare_and_exchange_bool_acq (__futex, 1, 0))) \ -+ __val = __lll_timedlock_wait (__futex, abstime, private); \ -+ __val; \ -+ }) -+#define lll_timedlock(futex, abstime, private) \ -+ __lll_timedlock (&(futex), abstime, private) -+ -+/* Verify whether the supplied clockid is supported by -+ lll_futex_clock_wait_bitset. */ -+#define lll_futex_supported_clockid(clockid) \ -+ ((clockid) == CLOCK_REALTIME || (clockid) == CLOCK_MONOTONIC) -+ -+/* The kernel currently only supports CLOCK_MONOTONIC or -+ CLOCK_REALTIME timeouts for FUTEX_WAIT_BITSET. We could attempt to -+ convert others here but currently do not. */ -+#define lll_futex_clock_wait_bitset(futexp, val, clockid, timeout, private) \ -+ ({ \ -+ long int __ret; \ -+ if (lll_futex_supported_clockid (clockid)) \ -+ { \ -+ const unsigned int clockbit = \ -+ (clockid == CLOCK_REALTIME) ? FUTEX_CLOCK_REALTIME : 0; \ -+ const int op = \ -+ __lll_private_flag (FUTEX_WAIT_BITSET | clockbit, private); \ -+ \ -+ __ret = lll_futex_syscall (6, futexp, op, val, \ -+ timeout, NULL /* Unused. */, \ -+ FUTEX_BITSET_MATCH_ANY); \ -+ } \ -+ else \ -+ __ret = -EINVAL; \ -+ __ret; \ -+ }) -+ -+# undef INTERNAL_VSYSCALL -+# define INTERNAL_VSYSCALL INTERNAL_SYSCALL -+# undef INLINE_VSYSCALL -+# define INLINE_VSYSCALL INLINE_SYSCALL -+ -+#endif --- -2.30.0 -
View file
_service:tar_scm:0005-add-pthread-functions_h.patch
Deleted
@@ -1,140 +0,0 @@ -From 463dc947b4f9bc4137c9919ee72b896403926474 Mon Sep 17 00:00:00 2001 -From: Roland McGrath <roland@hack.frob.com> -Date: Thu Jun 12 13:48:47 2014 -0700 -Subject: PATCH 5/9 build extra lipthreadcond so - -add pthread-functions.h which delete by 1d67cf9e8a0194588e66fb3b7afcbdc3bf836a - ---- - nptl_2_17/pthread-functions_2_17.h | 119 +++++++++++++++++++++++++++++ - 1 file changed, 119 insertions(+) - create mode 100644 nptl_2_17/pthread-functions_2_17.h - -diff --git a/nptl_2_17/pthread-functions_2_17.h b/nptl_2_17/pthread-functions_2_17.h -new file mode 100644 -index 00000000..07ca8e7e ---- /dev/null -+++ b/nptl_2_17/pthread-functions_2_17.h -@@ -0,0 +1,119 @@ -+/* Copyright (C) 2003-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#ifndef _PTHREAD_FUNCTIONS_H -+#define _PTHREAD_FUNCTIONS_H 1 -+ -+#include <pthread.h> -+#include <setjmp.h> -+#include <internaltypes.h> -+#include <sysdep.h> -+ -+struct xid_command; -+ -+/* Data type shared with libc. The libc uses it to pass on calls to -+ the thread functions. */ -+struct pthread_functions -+{ -+ int (*ptr_pthread_attr_destroy) (pthread_attr_t *); -+ int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *); -+ int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *); -+ int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *); -+ int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int); -+ int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *); -+ int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int); -+ int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *, -+ struct sched_param *); -+ int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *, -+ const struct sched_param *); -+ int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *); -+ int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int); -+ int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *); -+ int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int); -+ int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *); -+ int (*ptr_pthread_condattr_init) (pthread_condattr_t *); -+ int (*ptr___pthread_cond_broadcast) (pthread_cond_t *); -+ int (*ptr___pthread_cond_destroy) (pthread_cond_t *); -+ int (*ptr___pthread_cond_init) (pthread_cond_t *, -+ const pthread_condattr_t *); -+ int (*ptr___pthread_cond_signal) (pthread_cond_t *); -+ int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *); -+ int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *, -+ const struct timespec *); -+ int (*ptr___pthread_cond_clockwait) (pthread_cond_t *, -+ pthread_mutex_t *, -+ clockid_t, -+ const struct timespec *); -+ int (*ptr___pthread_cond_broadcast_2_0) (pthread_cond_2_0_t *); -+ int (*ptr___pthread_cond_destroy_2_0) (pthread_cond_2_0_t *); -+ int (*ptr___pthread_cond_init_2_0) (pthread_cond_2_0_t *, -+ const pthread_condattr_t *); -+ int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *); -+ int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *); -+ int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *, -+ pthread_mutex_t *, -+ const struct timespec *); -+ int (*ptr_pthread_equal) (pthread_t, pthread_t); -+ void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__)); -+ int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *); -+ int (*ptr_pthread_setschedparam) (pthread_t, int, -+ const struct sched_param *); -+ int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *); -+ int (*ptr_pthread_mutex_init) (pthread_mutex_t *, -+ const pthread_mutexattr_t *); -+ int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); -+ int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); -+ int (*ptr___pthread_setcancelstate) (int, int *); -+ int (*ptr_pthread_setcanceltype) (int, int *); -+ void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); -+ int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); -+ int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); -+ int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); -+ int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); -+ int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); -+ void *(*ptr___pthread_getspecific) (pthread_key_t); -+ int (*ptr___pthread_setspecific) (pthread_key_t, const void *); -+ void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer *, -+ void (*) (void *), void *); -+ void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer *, -+ int); -+#define HAVE_PTR_NTHREADS -+ unsigned int *ptr_nthreads; -+ void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *) -+ __attribute ((noreturn)) __cleanup_fct_attribute; -+ void (*ptr__nptl_deallocate_tsd) (void); -+ int (*ptr__nptl_setxid) (struct xid_command *); -+ void (*ptr_set_robust) (struct pthread *); -+}; -+ -+/* Variable in libc.so. */ -+extern struct pthread_functions __libc_pthread_functions attribute_hidden; -+extern int __libc_pthread_functions_init attribute_hidden; -+ -+#ifdef PTR_DEMANGLE -+# define PTHFCT_CALL(fct, params) \ -+ ({ __typeof (__libc_pthread_functions.fct) __p; \ -+ __p = __libc_pthread_functions.fct; \ -+ PTR_DEMANGLE (__p); \ -+ __p params; }) -+#else -+# define PTHFCT_CALL(fct, params) \ -+ __libc_pthread_functions.fct params -+#endif -+ -+#endif /* pthread-functions.h */ --- -2.30.0 -
View file
_service:tar_scm:0006-add-elsion-function-which-moved-to-libc-in-glibc-2.34.patch
Deleted
@@ -1,587 +0,0 @@ -From 1cdbe579482c07e9f4bb3baa4864da2d3e7eb837 Mon Sep 17 00:00:00 2001 -From: Andi Kleen <ak@linux.intel.com> -Date: Sat, 10 Nov 2012 00:51:26 -0800i -Subject: PATCH 6/9 build extra lipthreadcond so - -add elsion functions which moved to libc in glibc-2.34. -Some attributes are changed and cannot be directly referenced. - - ---- - nptl_2_17/lll_timedlock_wait_2_17.c | 59 +++++++++++++++++++++++++++++ - nptl_2_17/elision-conf_2_17.c | 138 +++++++++++++++++++++++++++++++ - nptl_2_17/elision-lock_2_17.c | 107 ++++++++++++++++++++++++ - nptl_2_17/elision-timed_2_17.c | 27 ++++++ - nptl_2_17/elision-trylock_2_17.c | 75 +++++++++++++++++ - nptl_2_17/elision-unlock_2_17.c | 34 ++++++++ - nptl_2_17/hle_2_17.h | 75 +++++++++++++++++ - 6 files changed, 515 - insertions(+) - create mode 100644 nptl_2_17/lll_timedlock_wait_2_17.c - create mode 100644 nptl_2_17/elision-conf_2_17.c - create mode 100644 nptl_2_17/elision-lock_2_17.c - create mode 100644 nptl_2_17/elision-timed_2_17.c - create mode 100644 nptl_2_17/elision-trylock_2_17.c - create mode 100644 nptl_2_17/elision-unlock_2_17.c - create mode 100644 nptl_2_17/hle_2_17.h - -diff --git a/nptl_2_17/lll_timedlock_wait_2_17.c b/nptl_2_17/lll_timedlock_wait_2_17.c -new file mode 100644 -index 00000000..91bf9637 ---- /dev/null -+++ b/nptl_2_17/lll_timedlock_wait_2_17.c -@@ -0,0 +1,59 @@ -+/* Timed low level locking for pthread library. Generic futex-using version. -+ Copyright (C) 2003-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include <atomic.h> -+#include <errno.h> -+#include <lowlevellock.h> -+#include <sys/time.h> -+ -+ -+int -+__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private) -+{ -+ /* Reject invalid timeouts. */ -+ if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000) -+ return EINVAL; -+ -+ /* Try locking. */ -+ while (atomic_exchange_acq (futex, 2) != 0) -+ { -+ struct timeval tv; -+ -+ /* Get the current time. */ -+ (void) __gettimeofday (&tv, NULL); -+ -+ /* Compute relative timeout. */ -+ struct timespec rt; -+ rt.tv_sec = abstime->tv_sec - tv.tv_sec; -+ rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000; -+ if (rt.tv_nsec < 0) -+ { -+ rt.tv_nsec += 1000000000; -+ --rt.tv_sec; -+ } -+ -+ if (rt.tv_sec < 0) -+ return ETIMEDOUT; -+ -+ /* If *futex == 2, wait until woken or timeout. */ -+ lll_futex_timed_wait (futex, 2, &rt, private); -+ } -+ -+ return 0; -+} -diff --git a/nptl_2_17/elision-conf_2_17.c b/nptl_2_17/elision-conf_2_17.c -new file mode 100644 -index 00000000..22af2944 ---- /dev/null -+++ b/nptl_2_17/elision-conf_2_17.c -@@ -0,0 +1,138 @@ -+/* elision-conf.c: Lock elision tunable parameters. -+ Copyright (C) 2013-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include "config.h" -+#include <pthreadP.h> -+#include <init-arch.h> -+#include <elision-conf.h> -+#include <unistd.h> -+ -+#if HAVE_TUNABLES -+# define TUNABLE_NAMESPACE elision -+#endif -+#include <elf/dl-tunables.h> -+ -+/* Reasonable initial tuning values, may be revised in the future. -+ This is a conservative initial value. */ -+ -+struct elision_config __elision_aconf = -+ { -+ /* How often to not attempt to use elision if a transaction aborted -+ because the lock is already acquired. Expressed in number of lock -+ acquisition attempts. */ -+ .skip_lock_busy = 3, -+ /* How often to not attempt to use elision if a transaction aborted due -+ to reasons other than other threads' memory accesses. Expressed in -+ number of lock acquisition attempts. */ -+ .skip_lock_internal_abort = 3, -+ /* How often we retry using elision if there is chance for the transaction -+ to finish execution (e.g., it wasn't aborted due to the lock being -+ already acquired. */ -+ .retry_try_xbegin = 3, -+ /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock. */ -+ .skip_trylock_internal_abort = 3, -+ }; -+ -+/* Force elision for all new locks. This is used to decide whether existing -+ DEFAULT locks should be automatically upgraded to elision in -+ pthread_mutex_lock(). Disabled for suid programs. Only used when elision -+ is available. */ -+ -+int __pthread_force_elision attribute_hidden = 0; -+ -+#if HAVE_TUNABLES -+static inline void -+__always_inline -+do_set_elision_enable (int32_t elision_enable) -+{ -+ /* Enable elision if it's avaliable in hardware. It's not necessary to check -+ if __libc_enable_secure isn't enabled since elision_enable will be set -+ according to the default, which is disabled. */ -+ if (elision_enable == 1) -+ __pthread_force_elision = HAS_CPU_FEATURE (RTM) ? 1 : 0; -+} -+ -+/* The pthread->elision_enable tunable is 0 or 1 indicating that elision -+ should be disabled or enabled respectively. The feature will only be used -+ if it's supported by the hardware. */ -+ -+void -+TUNABLE_CALLBACK (set_elision_enable) (tunable_val_t *valp) -+{ -+ int32_t elision_enable = (int32_t) valp->numval; -+ do_set_elision_enable (elision_enable); -+} -+ -+#define TUNABLE_CALLBACK_FNDECL(__name, __type) \ -+static inline void \ -+__always_inline \ -+do_set_elision_ ## __name (__type value) \ -+{ \ -+ __elision_aconf.__name = value; \ -+} \ -+void \ -+TUNABLE_CALLBACK (set_elision_ ## __name) (tunable_val_t *valp) \ -+{ \ -+ __type value = (__type) (valp)->numval; \ -+ do_set_elision_ ## __name (value); \ -+} -+ -+TUNABLE_CALLBACK_FNDECL (skip_lock_busy, int32_t); -+TUNABLE_CALLBACK_FNDECL (skip_lock_internal_abort, int32_t); -+TUNABLE_CALLBACK_FNDECL (retry_try_xbegin, int32_t); -+TUNABLE_CALLBACK_FNDECL (skip_trylock_internal_abort, int32_t); -+#endif -+ -+/* Initialize elision. */
View file
_service:tar_scm:0007-add-lowlevellock_2_17_c.patch
Deleted
@@ -1,68 +0,0 @@ -From 3df6f22e5fde470a6e0242e582e58919493bdd54 Mon Sep 17 00:00:00 2001 -From: Roland McGrath <roland@hack.frob.com> -Date: Tue, 15 Jul 2014 15:23:06 -0700 -Subject: PATCH 7/9 build extra lipthreadcond so - -since 78fe624d44b8f6489b2d0de9bfdc09290a719a7, lowlevellock.c depends futex-internal.h which uses the private symbol __GI___libc_fatal of glibc. -We can't reference it in libpthread-2.17.so. Therefore, recompile in libphtread-2.17.so - ---- - nptl_2_17/lowlevellock_2_17.c | 46 ++++++++++++++++++++++ - 2 files changed, 46 insertions(+) - create mode 100644 nptl_2_17/lowlevellock_2_17.c - -diff --git a/nptl_2_17/lowlevellock_2_17.c b/nptl_2_17/lowlevellock_2_17.c -new file mode 100644 -index 00000000..bf1ca6b9 ---- /dev/null -+++ b/nptl_2_17/lowlevellock_2_17.c -@@ -0,0 +1,46 @@ -+/* low level locking for pthread library. Generic futex-using version. -+ Copyright (C) 2003-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include <errno.h> -+#include <sysdep.h> -+#include <lowlevellock.h> -+#include <sys/time.h> -+#include <atomic.h> -+ -+void -+__lll_lock_wait_private (int *futex) -+{ -+ if (*futex == 2) -+ lll_futex_wait (futex, 2, LLL_PRIVATE); /* Wait if *futex == 2. */ -+ -+ while (atomic_exchange_acq (futex, 2) != 0) -+ lll_futex_wait (futex, 2, LLL_PRIVATE); /* Wait if *futex == 2. */ -+} -+ -+ -+/* This function doesn't get included in libc. */ -+void -+__lll_lock_wait (int *futex, int private) -+{ -+ if (*futex == 2) -+ lll_futex_wait (futex, 2, private); /* Wait if *futex == 2. */ -+ -+ while (atomic_exchange_acq (futex, 2) != 0) -+ lll_futex_wait (futex, 2, private); /* Wait if *futex == 2. */ -+} --- -2.30.0 -
View file
_service:tar_scm:0008-add-pause_nocancel_2_17.patch
Deleted
@@ -1,56 +0,0 @@ -From 329ea513b451ae8322aa7a24ed84da13992af2dd Mon Sep 17 00:00:00 2001 -From: Zack Weinberg <zackw@panix.com> -Date: Tue, 3 Apr 2018 18:26:44 -0400 -Subject: PATCH 8/9 build extra lipthreadcond so - -since bb4a3143724ef3f044a4f05351fe041300ee382, Remove pause and nanosleep not cancel wrappers -To build libtphread-2.17.so, we added it back. - ---- - nptl_2_17/pause_nocancel_2_17.c | 34 +++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - create mode 100644 nptl_2_17/pause_nocancel_2_17.c - -diff --git a/nptl_2_17/pause_nocancel_2_17.c b/nptl_2_17/pause_nocancel_2_17.c -new file mode 100644 -index 00000000..ab8e78d2 ---- /dev/null -+++ b/nptl_2_17/pause_nocancel_2_17.c -@@ -0,0 +1,34 @@ -+/* Linux pause syscall implementation -- non-cancellable. -+ Copyright (C) 2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library. If not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include <compat_pthread_2_17.h> -+#include <signal.h> -+#include <unistd.h> -+#include <sysdep-cancel.h> -+#include <not-cancel.h> -+ -+int -+__pause_nocancel (void) -+{ -+#ifdef __NR_pause -+ return INLINE_SYSCALL_CALL (pause); -+#else -+ return INLINE_SYSCALL_CALL (ppoll, NULL, 0, NULL, NULL); -+#endif -+} -+hidden_def (__pause_nocancel) --- -2.30.0 -
View file
_service:tar_scm:0009-add-unwind-with-longjmp.patch
Deleted
@@ -1,161 +0,0 @@ -From 09d65ff393e9183eecba1e5cb877e95dbdd3d4a4 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper <drepper@redhat.com> -Date: Sat, 12 Apr 2003 00:58:26 +0000 -Subject: PATCH 9/9 build extra lipthreadcond so - -since 6253bacdc00de132dec452ff7c6ce3ba7fa23d81, __libc_longjmp became a -private interface.We can't quote directly. -Change it to longjmp - ---- - nptl_2_17/unwind_2_17.c | 138 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 138 insertions(+) - create mode 100644 nptl_2_17/unwind_2_17.c - -diff --git a/nptl_2_17/unwind_2_17.c b/nptl_2_17/unwind_2_17.c -new file mode 100644 -index 00000000..ada8f74d ---- /dev/null -+++ b/nptl_2_17/unwind_2_17.c -@@ -0,0 +1,138 @@ -+/* Copyright (C) 2003-2016 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Ulrich Drepper <drepper@redhat.com> -+ and Richard Henderson <rth@redhat.com>, 2003. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include "pthreadP_2_17.h" -+#include <setjmp.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> -+#include <jmpbuf-unwind.h> -+ -+#ifdef _STACK_GROWS_DOWN -+# define FRAME_LEFT(frame, other, adj) \ -+ ((uintptr_t) frame - adj >= (uintptr_t) other - adj) -+#elif _STACK_GROWS_UP -+# define FRAME_LEFT(frame, other, adj) \ -+ ((uintptr_t) frame - adj <= (uintptr_t) other - adj) -+#else -+# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" -+#endif -+ -+static _Unwind_Reason_Code -+unwind_stop (int version, _Unwind_Action actions, -+ _Unwind_Exception_Class exc_class, -+ struct _Unwind_Exception *exc_obj, -+ struct _Unwind_Context *context, void *stop_parameter) -+{ -+ struct pthread_unwind_buf *buf = stop_parameter; -+ struct pthread *self = THREAD_SELF; -+ struct _pthread_cleanup_buffer *curp = THREAD_GETMEM (self, cleanup); -+ int do_longjump = 0; -+ -+ /* Adjust all pointers used in comparisons, so that top of thread's -+ stack is at the top of address space. Without that, things break -+ if stack is allocated above the main stack. */ -+ uintptr_t adj = (uintptr_t) self->stackblock + self->stackblock_size; -+ -+ /* Do longjmp if we're at "end of stack", aka "end of unwind data". -+ We assume there are only C frame without unwind data in between -+ here and the jmp_buf target. Otherwise simply note that the CFA -+ of a function is NOT within it's stack frame; it's the SP of the -+ previous frame. */ -+ if ((actions & _UA_END_OF_STACK) -+ || ! _JMPBUF_CFA_UNWINDS_ADJ (buf->cancel_jmp_buf0.jmp_buf, context, -+ adj)) -+ do_longjump = 1; -+ -+ if (__glibc_unlikely (curp != NULL)) -+ { -+ /* Handle the compatibility stuff. Execute all handlers -+ registered with the old method which would be unwound by this -+ step. */ -+ struct _pthread_cleanup_buffer *oldp = buf->priv.data.cleanup; -+ void *cfa = (void *) (_Unwind_Ptr) _Unwind_GetCFA (context); -+ -+ if (curp != oldp && (do_longjump || FRAME_LEFT (cfa, curp, adj))) -+ { -+ do -+ { -+ /* Pointer to the next element. */ -+ struct _pthread_cleanup_buffer *nextp = curp->__prev; -+ -+ /* Call the handler. */ -+ curp->__routine (curp->__arg); -+ -+ /* To the next. */ -+ curp = nextp; -+ } -+ while (curp != oldp -+ && (do_longjump || FRAME_LEFT (cfa, curp, adj))); -+ -+ /* Mark the current element as handled. */ -+ THREAD_SETMEM (self, cleanup, curp); -+ } -+ } -+ -+ if (do_longjump) -+ longjmp ((struct __jmp_buf_tag *) buf->cancel_jmp_buf, 1); -+ -+ return _URC_NO_REASON; -+} -+ -+ -+static void -+unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc) -+{ -+ /* When we get here a C++ catch block didn't rethrow the object. We -+ cannot handle this case and therefore abort. */ -+ __libc_fatal ("FATAL: exception not rethrown\n"); -+} -+ -+ -+void -+__cleanup_fct_attribute __attribute ((noreturn)) -+__pthread_unwind (__pthread_unwind_buf_t *buf) -+{ -+ struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf; -+ struct pthread *self = THREAD_SELF; -+ -+ /* This is not a catchable exception, so don't provide any details about -+ the exception type. We do need to initialize the field though. */ -+ THREAD_SETMEM (self, exc.exception_class, 0); -+ THREAD_SETMEM (self, exc.exception_cleanup, &unwind_cleanup); -+ -+ _Unwind_ForcedUnwind (&self->exc, unwind_stop, ibuf); -+ /* NOTREACHED */ -+ -+ /* We better do not get here. */ -+ abort (); -+} -+hidden_def (__pthread_unwind) -+ -+ -+void -+__cleanup_fct_attribute __attribute ((noreturn)) -+__pthread_unwind_next (__pthread_unwind_buf_t *buf) -+{ -+ struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf; -+ -+ __pthread_unwind ((__pthread_unwind_buf_t *) ibuf->priv.data.prev); -+} -+hidden_def (__pthread_unwind_next) --- -2.30.0 -
View file
_service:tar_scm:add-GB18030-2022-charmap.patch
Added
@@ -0,0 +1,359 @@ +From f2774810fd9cd75b5216743a26965f9448a8fb72 Mon Sep 17 00:00:00 2001 +From: lijianglin <lijianglin2@huawei.com> +Date: Mon, 8 May 2023 14:39:03 +0800 +Subject: PATCH add GB18030-2022 charmap + +achieve GB18030-2022 level 2 after add and change some transcoding +relationship of GB18030-2022.Details are as follows: +add 25 transcoding relationship + UE81E 0x82359037 + UE826 0x82359038 + UE82B 0x82359039 + UE82C 0x82359130 + UE832 0x82359131 + UE843 0x82359132 + UE854 0x82359133 + UE864 0x82359134 + UE78D 0x84318236 + UE78F 0x84318237 + UE78E 0x84318238 + UE790 0x84318239 + UE791 0x84318330 + UE792 0x84318331 + UE793 0x84318332 + UE794 0x84318333 + UE795 0x84318334 + UE796 0x84318335 + UE816 0xfe51 + UE817 0xfe52 + UE818 0xfe53 + UE831 0xfe6c + UE83B 0xfe76 + UE855 0xfe91 +change 6 transcoding relationship + U20087 0x95329031 + U20089 0x95329033 + U200CC 0x95329730 + U215D7 0x9536b937 + U2298F 0x9630ba35 + U241FE 0x9635b630 +--- + iconvdata/gb18030.c | 52 +++++++++++++++++++++++---- + localedata/charmaps/GB18030 | 70 ++++++++++++++++--------------------- + 2 files changed, 76 insertions(+), 46 deletions(-) + +diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c +index 0b03b9bb..7dca9b09 100644 +--- a/iconvdata/gb18030.c ++++ b/iconvdata/gb18030.c +@@ -6021,14 +6021,17 @@ static const uint16_t __twobyte_to_ucs = + 0x5dc6 = 0xfa14, 0x5dc7 = 0xfa18, 0x5dc8 = 0xfa1f, 0x5dc9 = 0xfa20, + 0x5dca = 0xfa21, 0x5dcb = 0xfa23, 0x5dcc = 0xfa24, 0x5dcd = 0xfa27, + 0x5dce = 0xfa28, 0x5dcf = 0xfa29, 0x5dd0 = 0x2e81, 0x5dd4 = 0x2e84, ++ 0x5dd1 = 0xe816, 0x5dd2 = 0xe817, 0x5dd3 = 0xe818, + 0x5dd5 = 0x3473, 0x5dd6 = 0x3447, 0x5dd7 = 0x2e88, 0x5dd8 = 0x2e8b, + 0x5dd9 = 0x9fb4, 0x5dda = 0x359e, 0x5ddb = 0x361a, 0x5ddc = 0x360e, + 0x5ddd = 0x2e8c, 0x5dde = 0x2e97, 0x5ddf = 0x396e, 0x5de0 = 0x3918, + 0x5de1 = 0x9fb5, 0x5de2 = 0x39cf, 0x5de3 = 0x39df, 0x5de4 = 0x3a73, + 0x5de5 = 0x39d0, 0x5de6 = 0x9fb6, 0x5de7 = 0x9fb7, 0x5de8 = 0x3b4e, + 0x5de9 = 0x3c6e, 0x5dea = 0x3ce0, 0x5deb = 0x2ea7, 0x5ded = 0x9fb8, ++ 0x5dec = 0xe831, + 0x5dee = 0x2eaa, 0x5def = 0x4056, 0x5df0 = 0x415f, 0x5df1 = 0x2eae, + 0x5df2 = 0x4337, 0x5df3 = 0x2eb3, 0x5df4 = 0x2eb6, 0x5df5 = 0x2eb7, ++ 0x5df6 = 0xe83b, + 0x5df7 = 0x43b1, 0x5df8 = 0x43ac, 0x5df9 = 0x2ebb, 0x5dfa = 0x43dd, + 0x5dfb = 0x44d6, 0x5dfc = 0x4661, 0x5dfd = 0x464c, 0x5dfe = 0x9fb9, + 0x5e00 = 0x4723, 0x5e01 = 0x4729, 0x5e02 = 0x477c, 0x5e03 = 0x478d, +@@ -6036,6 +6039,7 @@ static const uint16_t __twobyte_to_ucs = + 0x5e08 = 0x4982, 0x5e09 = 0x4983, 0x5e0a = 0x4985, 0x5e0b = 0x4986, + 0x5e0c = 0x499f, 0x5e0d = 0x499b, 0x5e0e = 0x49b7, 0x5e0f = 0x49b6, + 0x5e10 = 0x9fba, 0x5e12 = 0x4ca3, 0x5e13 = 0x4c9f, 0x5e14 = 0x4ca0, ++ 0x5e11 = 0xe855, + 0x5e15 = 0x4ca1, 0x5e16 = 0x4c77, 0x5e17 = 0x4ca2, 0x5e18 = 0x4d13, + 0x5e19 = 0x4d14, 0x5e1a = 0x4d15, 0x5e1b = 0x4d16, 0x5e1c = 0x4d17, + 0x5e1d = 0x4d18, 0x5e1e = 0x4d19, 0x5e1f = 0x4dae, 0x5e20 = 0x9fbb, +@@ -8692,6 +8696,8 @@ static const uint16_t __fourbyte_to_ucs0x99e2 - 6637 - 2110 - 14404 - 4295 = + 0x283c = 0x9faa, 0x283d = 0x9fab, 0x283e = 0x9fac, 0x283f = 0x9fad, + 0x2840 = 0x9fae, 0x2841 = 0x9faf, 0x2842 = 0x9fb0, 0x2843 = 0x9fb1, + 0x2844 = 0x9fb2, 0x2845 = 0x9fb3, 0x284e = 0xe76c, 0x284f = 0xe7c8, ++ 0x2846 = 0xe81e, 0x2847 = 0xe826, 0x2848 = 0xe82b, 0x2849 = 0xe82c, ++ 0x284a = 0xe832, 0x284b = 0xe843, 0x284c = 0xe854, 0x284d = 0xe864, + 0x2850 = 0xe7e7, 0x2851 = 0xe7e8, 0x2852 = 0xe7e9, 0x2853 = 0xe7ea, + 0x2854 = 0xe7eb, 0x2855 = 0xe7ec, 0x2856 = 0xe7ed, 0x2857 = 0xe7ee, + 0x2858 = 0xe7ef, 0x2859 = 0xe7f0, 0x285a = 0xe7f1, 0x285b = 0xe7f2, +@@ -9020,6 +9026,9 @@ static const uint16_t __fourbyte_to_ucs0x99e2 - 6637 - 2110 - 14404 - 4295 = + 0x2d64 = 0xfe06, 0x2d65 = 0xfe07, 0x2d66 = 0xfe08, 0x2d67 = 0xfe09, + 0x2d68 = 0xfe0a, 0x2d69 = 0xfe0b, 0x2d6a = 0xfe0c, 0x2d6b = 0xfe0d, + 0x2d6c = 0xfe0e, 0x2d6d = 0xfe0f, 0x2d78 = 0xfe1a, 0x2d79 = 0xfe1b, ++ 0x2d6e = 0xe78d, 0x2d6f = 0xe78f, 0x2d70 = 0xe78e, 0x2d71 = 0xe790, ++ 0x2d72 = 0xe791, 0x2d73 = 0xe792, 0x2d74 = 0xe793, 0x2d75 = 0xe794, ++ 0x2d76 = 0xe795, 0x2d77 = 0xe796, + 0x2d7a = 0xfe1c, 0x2d7b = 0xfe1d, 0x2d7c = 0xfe1e, 0x2d7d = 0xfe1f, + 0x2d7e = 0xfe20, 0x2d7f = 0xfe21, 0x2d80 = 0xfe22, 0x2d81 = 0xfe23, + 0x2d82 = 0xfe24, 0x2d83 = 0xfe25, 0x2d84 = 0xfe26, 0x2d85 = 0xfe27, +@@ -23449,6 +23458,10 @@ static const unsigned char __ucs_to_gb18030_tab22 = + 0x0786 = "\xa6\xba", 0x0787 = "\xa6\xbb", 0x0788 = "\xa6\xbc", + 0x0789 = "\xa6\xbd", 0x078a = "\xa6\xbe", 0x078b = "\xa6\xbf", + 0x078c = "\xa6\xc0", 0x0797 = "\xa6\xf6", 0x0798 = "\xa6\xf7", ++ 0x078d = "\x7b\x84", 0x078e = "\x7b\x86", 0x078f = "\x7b\x85", ++ 0x0790 = "\x7b\x87", 0x0791 = "\x7b\x88", 0x0792 = "\x7b\x89", ++ 0x0793 = "\x7b\x8a", 0x0794 = "\x7b\x8b", 0x0795 = "\x7b\x8c", ++ 0x0796 = "\x7b\x8d", + 0x0799 = "\xa6\xf8", 0x079a = "\xa6\xf9", 0x079b = "\xa6\xfa", + 0x079c = "\xa6\xfb", 0x079d = "\xa6\xfc", 0x079e = "\xa6\xfd", + 0x079f = "\xa6\xfe", 0x07a0 = "\xa7\xc2", 0x07a1 = "\xa7\xc3", +@@ -23491,28 +23504,37 @@ static const unsigned char __ucs_to_gb18030_tab22 = + 0x080e = "\xa9\xfd", 0x080f = "\xa9\xfe", 0x0810 = "\xd7\xfa", + 0x0811 = "\xd7\xfb", 0x0812 = "\xd7\xfc", 0x0813 = "\xd7\xfd", + 0x0814 = "\xd7\xfe", 0x0815 = "\x65\xac", 0x0819 = "\x65\xad", ++ 0x0816 = "\xfe\x51", 0x0817 = "\xfe\x52", 0x0818 = "\xfe\x53", + 0x081a = "\x65\xae", 0x081b = "\x65\xaf", 0x081c = "\x65\xb0", + 0x081d = "\x65\xb1", 0x081f = "\x65\xb2", 0x0820 = "\x65\xb3", ++ 0x081e = "\x2d\x51", + 0x0821 = "\x65\xb4", 0x0822 = "\x65\xb5", 0x0823 = "\x65\xb6", + 0x0824 = "\x65\xb7", 0x0825 = "\x65\xb8", 0x0827 = "\x65\xb9", ++ 0x0826 = "\x2d\x52", + 0x0828 = "\x65\xba", 0x0829 = "\x65\xbb", 0x082a = "\x65\xbc", ++ 0x082b = "\x2d\x53", 0x082c = "\x2d\x54", + 0x082d = "\x65\xbd", 0x082e = "\x65\xbe", 0x082f = "\x65\xbf", + 0x0830 = "\x65\xc0", 0x0833 = "\x65\xc1", 0x0834 = "\x65\xc2", ++ 0x0831 = "\xfe\x6c", 0x0832 = "\x2d\x55", + 0x0835 = "\x65\xc3", 0x0836 = "\x65\xc4", 0x0837 = "\x65\xc5", + 0x0838 = "\x65\xc6", 0x0839 = "\x65\xc7", 0x083a = "\x65\xc8", ++ 0x083b = "\xfe\x76", + 0x083c = "\x65\xc9", 0x083d = "\x65\xca", 0x083e = "\x65\xcb", + 0x083f = "\x65\xcc", 0x0840 = "\x65\xcd", 0x0841 = "\x65\xce", + 0x0842 = "\x65\xcf", 0x0844 = "\x65\xd0", 0x0845 = "\x65\xd1", ++ 0x0843 = "\x2d\x56", + 0x0846 = "\x65\xd2", 0x0847 = "\x65\xd3", 0x0848 = "\x65\xd4", + 0x0849 = "\x65\xd5", 0x084a = "\x65\xd6", 0x084b = "\x65\xd7", + 0x084c = "\x65\xd8", 0x084d = "\x65\xd9", 0x084e = "\x65\xda", + 0x084f = "\x65\xdb", 0x0850 = "\x65\xdc", 0x0851 = "\x65\xdd", + 0x0852 = "\x65\xde", 0x0853 = "\x65\xdf", 0x0856 = "\x65\xe0", ++ 0x0854 = "\x2d\x57", 0x0855 = "\xfe\x91", + 0x0857 = "\x65\xe1", 0x0858 = "\x65\xe2", 0x0859 = "\x65\xe3", + 0x085a = "\x65\xe4", 0x085b = "\x65\xe5", 0x085c = "\x65\xe6", + 0x085d = "\x65\xe7", 0x085e = "\x65\xe8", 0x085f = "\x65\xe9", + 0x0860 = "\x65\xea", 0x0861 = "\x65\xeb", 0x0862 = "\x65\xec", + 0x0863 = "\x65\xed", 0x0865 = "\xfd\x9c", 0x0866 = "\x76\xb5", ++ 0x0864 = "\x2d\x58", + 0x0867 = "\x76\xb6", 0x0868 = "\x76\xb7", 0x0869 = "\x76\xb8", + 0x086a = "\x76\xb9", 0x086b = "\x76\xba", 0x086c = "\x76\xbb", + 0x086d = "\x76\xbc", 0x086e = "\x76\xbd", 0x086f = "\x76\xbe", +@@ -24331,17 +24353,35 @@ static const unsigned char __ucs_to_gb18030_tab22 = + len = 4; \ + } \ + else if (ch == 0x20087) \ +- cp = (const unsigned char *) "\xfe\x51"; \ ++ { \ ++ idx = 0x3E2CF; \ ++ len = 4; \ ++ } \ + else if (ch == 0x20089) \ +- cp = (const unsigned char *) "\xfe\x52"; \ ++ { \ ++ idx = 0x3E2D1; \ ++ len = 4; \ ++ } \ + else if (ch == 0x200CC) \ +- cp = (const unsigned char *) "\xfe\x53"; \ ++ { \ ++ idx = 0x3E314; \ ++ len = 4; \ ++ } \ + else if (ch == 0x215d7) \ +- cp = (const unsigned char *) "\xfe\x6c"; \ ++ { \ ++ idx = 0x3F81F; \ ++ len = 4; \ ++ } \ + else if (ch == 0x2298F) \ +- cp = (const unsigned char *) "\xfe\x76"; \ ++ { \ ++ idx = 0x40BD7; \ ++ len = 4; \ ++ } \ + else if (ch == 0x241FE) \ +- cp = (const unsigned char *) "\xfe\x91"; \ ++ { \ ++ idx = 0x42446; \ ++ len = 4; \ ++ } \ + else if (ch >= 0x10000 && ch <= 0x10FFFF) \ + { \ + idx = ch + 0x1E248; \ +diff --git a/localedata/charmaps/GB18030 b/localedata/charmaps/GB18030 +index ad6728c5..228e63f4 100644 +--- a/localedata/charmaps/GB18030 ++++ b/localedata/charmaps/GB18030 +@@ -57249,17 +57249,16 @@ CHARMAP + % The recommendation to use the non-PUA code points, where available, + % is based on "CJKV Information Processing" 2nd Ed. by Dr. Ken Lunde. + % +-% These 10 PUA mappings use equivalents from <UFE10> to <UFE19>. +-% <UE78D> /xa6/xd9 <Private Use> +-% <UE78E> /xa6/xda <Private Use> +-% <UE78F> /xa6/xdb <Private Use> +-% <UE790> /xa6/xdc <Private Use> +-% <UE791> /xa6/xdd <Private Use> +-% <UE792> /xa6/xde <Private Use>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2