Age | Commit message (Collapse) | Author |
|
With commit f0b2132b35248c1f4a80f62a2c38cddcc802aa8c ("ld.so:
Support moving versioned symbols between sonames [BZ #24741]"), the
dynamic linker will find the definition of vfork in libc and binds
a vfork reference to that symbol, even if the soname in the version
reference says that the symbol should be located in libpthread.
As a result, the forwarder (whether it's IFUNC-based or a duplicate
of the libc implementation) is no longer necessary.
On older architectures, a placeholder symbol is required, to make sure
that the GLIBC_2.1.2 symbol version does not go away, or is turned in
to a weak symbol definition by the link editor. (The symbol version
needs to preserved so that the symbol coverage check in
elf/dl-version.c does not fail for old binaries.)
mips32 is an outlier: It defined __vfork@@GLIBC_2.2, but the
baseline is GLIBC_2.0. Since there are other @@GLIBC_2.2 symbols,
the placeholder symbol is not needed there.
|
|
No 32-bit system call wrapper is added because the interface
is problematic because it cannot deal with 64-bit inode numbers
and 64-bit directory hashes.
A future commit will deprecate the undocumented getdirentries
and getdirentries64 functions.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
|
The tgkill function is sometimes used in crash handlers.
<bits/signal_ext.h> follows the same approach as <bits/unistd_ext.h>
(which was added for the gettid system call wrapper).
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
|
The twalk function is very difficult to use in a multi-threaded
program because there is no way to pass external state to the
iterator function.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
Mark the lr register as undefined at the start of execution, so unwind
will stop at this frame. run-backtrace-*.sh from elfutils testsuite will
fail without this patch.
* sysdeps/csky/abiv2/start.S: Mark lr as undefined.
* sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise.
|
|
C-SKY GDB dose not use this file for ptrace and coredump. ptrace can use
pt_regs definition from linux kernel directly. The old definition only
got 34 regs instead of 38 regs from linux kernel, which will corrupted
the memory after ptrace PTRACE_GETREGSET call.
* sysdeps/unix/sysv/linux/csky/sys/procfs.h: Use linux definition
directly.
* sysdeps/unix/sysv/linux/csky/sys/user.h: Remove user_regs
definition.
|
|
C-SKY defines SIGCONTEXT as siginfo_t *_si, struct ucontext_t * for
__profil_counter. ucontext_t get an extra __mask field which is miss
match with the struct sigcontext from linux kernel. The time value
from gprof report will be always zero without this patch. This
patch also fix the registers sequence in register-dump.h.
* sysdeps/unix/sysv/linux/csky/register-dump.h: Adjust offset change.
* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Remove __mask field
in mcontext_t
|
|
This patch fixes various places where a space should have been present
before '(' in accordance with the GNU Coding Standards. Most but not
all of the fixes in this patch are for calls to sizeof (but it's not
exhaustive regarding such calls that should be fixed).
Tested for x86_64, and with build-many-glibcs.py.
* benchtests/bench-strcpy.c (do_test): Use space before '('.
* benchtests/bench-string.h (cmdline_process_function): Likewise.
* benchtests/bench-strlen.c (do_test): Likewise.
(test_main): Likewise.
* catgets/gencat.c (read_old): Likewise.
* elf/cache.c (load_aux_cache): Likewise.
* iconvdata/bug-iconv8.c (do_test): Likewise.
* math/test-tgmath-ret.c (do_test): Likewise.
* nis/nis_call.c (rec_dirsearch): Likewise.
* nis/nis_findserv.c (__nis_findfastest_with_timeout): Likewise.
* nptl/tst-audit-threads.c (do_test): Likewise.
* nptl/tst-cancel4-common.h (set_socket_buffer): Likewise.
* nss/nss_test1.c (init): Likewise.
* nss/test-netdb.c (test_hosts): Likewise.
* posix/execvpe.c (maybe_script_execute): Likewise.
* stdio-common/tst-fmemopen4.c (do_test): Likewise.
* stdio-common/tst-printf.c (do_test): Likewise.
* stdio-common/vfscanf-internal.c (__vfscanf_internal): Likewise.
* stdlib/fmtmsg.c (NKEYWORDS): Likewise.
* stdlib/qsort.c (STACK_SIZE): Likewise.
* stdlib/test-canon.c (do_test): Likewise.
* stdlib/tst-swapcontext1.c (do_test): Likewise.
* string/memcmp.c (OPSIZ): Likewise.
* string/test-strcpy.c (do_test): Likewise.
(do_random_tests): Likewise.
* string/test-strlen.c (do_test): Likewise.
(test_main): Likewise.
* string/test-strrchr.c (do_test): Likewise.
(do_random_tests): Likewise.
* string/tester.c (test_memrchr): Likewise.
(test_memchr): Likewise.
* sysdeps/generic/memcopy.h (OPSIZ): Likewise.
* sysdeps/generic/unwind-dw2.c (execute_stack_op): Likewise.
* sysdeps/generic/unwind-pe.h (read_sleb128): Likewise.
(read_encoded_value_with_base): Likewise.
* sysdeps/hppa/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/hppa/fpu/feupdateenv.c (__feupdateenv): Likewise.
* sysdeps/ia64/fpu/sfp-machine.h (TI_BITS): Likewise.
* sysdeps/mach/hurd/spawni.c (__spawni): Likewise.
* sysdeps/posix/spawni.c (maybe_script_execute): Likewise.
* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (query_auxv):
Likewise.
* sysdeps/unix/sysv/linux/aarch64/bits/procfs.h (ELF_NGREG):
Likewise.
* sysdeps/unix/sysv/linux/arm/bits/procfs.h (ELF_NGREG): Likewise.
* sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Likewise.
* sysdeps/unix/sysv/linux/csky/bits/procfs.h (ELF_NGREG):
Likewise.
* sysdeps/unix/sysv/linux/m68k/bits/procfs.h (ELF_NGREG):
Likewise.
* sysdeps/unix/sysv/linux/nios2/bits/procfs.h (ELF_NGREG):
Likewise.
* sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute):
Likewise.
* sysdeps/unix/sysv/linux/x86/bits/procfs.h (ELF_NGREG): Likewise.
* sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
(FP_XSTATE_MAGIC2_SIZE): Likewise.
* sysdeps/x86/fpu/sfp-machine.h (TI_BITS): Likewise.
* time/test_time.c (main): Likewise.
|
|
This patch continues the process of fixing coding style to break lines
before not after operators in accordance with the GNU Coding
Standards, fixing such issues in a non-exhaustive selection of sysdeps
files that had them.
Tested for x86_64, and with build-many-glibcs.py.
* sysdeps/arm/sysdep.h (#if condition): Break lines before rather
than after operators.
* sysdeps/mach/hurd/fork.c (__fork): Likewise.
* sysdeps/mach/hurd/getcwd.c
(__hurd_canonicalize_directory_name_internal): Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-consistent.c
(pthread_mutex_consistent): Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-init.c (_pthread_mutex_init):
Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c
(__pthread_mutex_transfer_np): Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-unlock.c
(__pthread_mutex_unlock): Likewise.
* sysdeps/mach/hurd/htl/pt-mutex.h (ROBUST_LOCK): Likewise.
(mtx_owned_p): Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c
(pthread_mutexattr_getrobust): Likewise.
* sysdeps/mach/hurd/i386/init-first.c (init1): Likewise.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Likewise.
* sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
* sysdeps/mach/hurd/kill.c (__kill): Likewise.
* sysdeps/mach/hurd/mig-reply.c (__mig_get_reply_port): Likewise.
* sysdeps/mach/hurd/ptrace.c (ptrace): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/unix/sysv/linux/aarch64/sysdep.h (#if condition):
Likewise.
* sysdeps/unix/sysv/linux/alpha/ioperm.c (process_cpuinfo):
Likewise.
* sysdeps/unix/sysv/linux/bits/timex.h (STA_RONLY): Likewise.
* sysdeps/unix/sysv/linux/csky/sysdep.h (#if condition): Likewise.
* sysdeps/unix/sysv/linux/generic/____longjmp_chk.c
(____longjmp_chk): Likewise.
* sysdeps/unix/sysv/linux/generic/futimesat.c (futimesat):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
(INTERNAL_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
(INTERNAL_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
(__get_clockfreq_via_cpuinfo): Likewise.
|
|
This commit adds gettid to <unistd.h> on Linux, and not to the
kernel-independent GNU API.
gettid is now supportable on Linux because too many things assume a
1:1 mapping between libpthread threads and kernel threads.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
|
* All files with FSF copyright notices: Update copyright dates
using scripts/update-copyrights.
* locale/programs/charmap-kw.h: Regenerated.
* locale/programs/locfile-kw.h: Likewise.
|
|
This patch add two abi combinations support for C-SKY ABIV2: soft-float
little endian, hard float little endian. C-SKY ABI manual and architecture
user guide are available from: https://github.com/c-sky/csky-doc
* config.h.in (CSKYABI, CSKY_HARD_FLOAT): New Define.
* scripts/build-many-glibcs.py: Add C-SKY targets.
* sysdeps/csky/Implies: New file.
* sysdeps/csky/Makefile: Likewise.
* sysdeps/csky/abiv2/__longjmp.S: Likewise.
* sysdeps/csky/abiv2/csky-mcount.S: Likewise.
* sysdeps/csky/abiv2/dl-trampoline.S: Likewise.
* sysdeps/csky/abiv2/memcmp.S: Likewise.
* sysdeps/csky/abiv2/memcpy.S: Likewise.
* sysdeps/csky/abiv2/memmove.S: Likewise.
* sysdeps/csky/abiv2/memset.S: Likewise.
* sysdeps/csky/abiv2/setjmp.S: Likewise.
* sysdeps/csky/abiv2/start.S: Likewise.
* sysdeps/csky/abiv2/strcmp.S: Likewise.
* sysdeps/csky/abiv2/strcpy.S: Likewise.
* sysdeps/csky/abiv2/strlen.S: Likewise.
* sysdeps/csky/abiv2/tls-macros.h: Likewise.
* sysdeps/csky/abort-instr.h: Likewise.
* sysdeps/csky/atomic-machine.h: Likewise.
* sysdeps/csky/bits/endian.h: Likewise.
* sysdeps/csky/bits/fenv.h: Likewise.
* sysdeps/csky/bits/link.h: Likewise.
* sysdeps/csky/bits/setjmp.h: Likewise.
* sysdeps/csky/bsd-_setjmp.S: Likewise.
* sysdeps/csky/bsd-setjmp.S: Likewise.
* sysdeps/csky/configure: Likewise.
* sysdeps/csky/configure.ac: Likewise.
* sysdeps/csky/dl-machine.h: Likewise.
* sysdeps/csky/dl-procinfo.c: Likewise.
* sysdeps/csky/dl-procinfo.h: Likewise.
* sysdeps/csky/dl-sysdep.h: Likewise.
* sysdeps/csky/dl-tls.h: Likewise.
* sysdeps/csky/fpu/fclrexcpt.c: Likewise.
* sysdeps/csky/fpu/fedisblxcpt.c: Likewise.
* sysdeps/csky/fpu/feenablxcpt.c: Likewise.
* sysdeps/csky/fpu/fegetenv.c: Likewise.
* sysdeps/csky/fpu/fegetexcept.c: Likewise.
* sysdeps/csky/fpu/fegetmode.c: Likewise.
* sysdeps/csky/fpu/fegetround.c: Likewise.
* sysdeps/csky/fpu/feholdexcpt.c: Likewise.
* sysdeps/csky/fpu/fenv_libc.h: Likewise.
* sysdeps/csky/fpu/fenv_private.h: Likewise.
* sysdeps/csky/fpu/fesetenv.c: Likewise.
* sysdeps/csky/fpu/fesetexcept.c: Likewise.
* sysdeps/csky/fpu/fesetmode.c: Likewise.
* sysdeps/csky/fpu/fesetround.c: Likewise.
* sysdeps/csky/fpu/feupdateenv.c: Likewise.
* sysdeps/csky/fpu/fgetexcptflg.c: Likewise.
* sysdeps/csky/fpu/fix-fp-int-convert-overflow.h: Likewise.
* sysdeps/csky/fpu/fraiseexcpt.c: Likewise.
* sysdeps/csky/fpu/fsetexcptflg.c: Likewise.
* sysdeps/csky/fpu/ftestexcept.c: Likewise.
* sysdeps/csky/fpu/libm-test-ulps: Likewise.
* sysdeps/csky/fpu/libm-test-ulps-name: Likewise.
* sysdeps/csky/fpu_control.h: Likewise.
* sysdeps/csky/gccframe.h: Likewise.
* sysdeps/csky/jmpbuf-unwind.h: Likewise.
* sysdeps/csky/ldsodefs.h: Likewise.
* sysdeps/csky/libc-tls.c: Likewise.
* sysdeps/csky/linkmap.h: Likewise.
* sysdeps/csky/machine-gmon.h: Likewise.
* sysdeps/csky/memusage.h: Likewise.
* sysdeps/csky/nofpu/Implies: Likewise.
* sysdeps/csky/nofpu/libm-test-ulps: Likewise.
* sysdeps/csky/nofpu/libm-test-ulps-name: Likewise.
* sysdeps/csky/nptl/Makefile: Likewise.
* sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Likewise.
* sysdeps/csky/nptl/bits/semaphore.h: Likewise.
* sysdeps/csky/nptl/pthread-offsets.h: Likewise.
* sysdeps/csky/nptl/pthreaddef.h: Likewise.
* sysdeps/csky/nptl/tcb-offsets.sym: Likewise.
* sysdeps/csky/nptl/tls.h: Likewise.
* sysdeps/csky/preconfigure: Likewise.
* sysdeps/csky/sfp-machine.h: Likewise.
* sysdeps/csky/sotruss-lib.c: Likewise.
* sysdeps/csky/stackinfo.h: Likewise.
* sysdeps/csky/sysdep.h: Likewise.
* sysdeps/csky/tininess.h: Likewise.
* sysdeps/csky/tst-audit.h: Likewise.
* sysdeps/unix/sysv/linux/csky/Implies: Likewise.
* sysdeps/unix/sysv/linux/csky/Makefile: Likewise.
* sysdeps/unix/sysv/linux/csky/Versions: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/____longjmp_chk.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym: Likewise.
* sysdeps/unix/sysv/linux/csky/bits/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/csky/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/csky/c++-types.data: Likewise.
* sysdeps/unix/sysv/linux/csky/configure: Likewise.
* sysdeps/unix/sysv/linux/csky/configure.ac: Likewise.
* sysdeps/unix/sysv/linux/csky/ipc_priv.h: Likewise.
* sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h: Likewise.
* sysdeps/unix/sysv/linux/csky/kernel-features.h: Likewise.
* sysdeps/unix/sysv/linux/csky/ld.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/ldconfig.h: Likewise.
* sysdeps/unix/sysv/linux/csky/libBrokenLocale.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libanl.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libcrypt.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libdl.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libm.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libpthread.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libresolv.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/librt.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libthread_db.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/libutil.abilist: Likewise.
* sysdeps/unix/sysv/linux/csky/localplt.data: Likewise.
* sysdeps/unix/sysv/linux/csky/makecontext.c: Likewise.
* sysdeps/unix/sysv/linux/csky/profil-counter.h: Likewise.
* sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise.
* sysdeps/unix/sysv/linux/csky/register-dump.h: Likewise.
* sysdeps/unix/sysv/linux/csky/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/csky/sigcontextinfo.h: Likewise.
* sysdeps/unix/sysv/linux/csky/sys/cachectl.h: Likewise.
* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Likewise.
* sysdeps/unix/sysv/linux/csky/sys/user.h: Likewise.
* sysdeps/unix/sysv/linux/csky/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/csky/sysdep.h: Likewise.
|