[PATCH 0/5] NPTL port to ARC

Vineet Gupta Vineet.Gupta1 at synopsys.com
Fri Jul 25 12:09:03 UTC 2014


Hi,

Please find the patches which bring NPTL to ARC.
These rely on TLS support in tools (gcc/binutils) which can be found at
specific branches on SNPS github site.

github.com:foss-for-synopsys-dwc-arc-processors/gcc.git:arc-4.8-tls
github.com:foss-for-synopsys-dwc-arc-processors/binutils.git:arc-2.23-tls

Arguably the 3 patches could be squashed into 1st (or 1st monolithic one
could be split into fine grained), I've kept them like that as they show
fixes needed on top of initial port. But I coudl merge them if reviewers
so wish.

Please review and consider merging.

Thx,
-Vineet

Joern Rennecke (1):
  ldso/ldso/arc/{dl-startup.h,dl-sysdep.h}: Use @pcl syntax.

Vineet Gupta (4):
  NPTL: ARC support
  ARC/NPTL: Fix __libc_sigaction redefinition with static links
  ARC/NPTL: Add tests
  ARC/NPTL: clone to set TP if CLONE_SETTLS

 extra/Configs/defconfigs/arc/defconfig             |   2 +-
 include/elf.h                                      |  12 +-
 ldso/ldso/arc/dl-debug.h                           |  15 ++
 ldso/ldso/arc/dl-startup.h                         |   9 +-
 ldso/ldso/arc/dl-sysdep.h                          |  26 +-
 ldso/ldso/arc/elfinterp.c                          |  26 +-
 libc/sysdeps/linux/arc/bits/atomic.h               |  57 +++++
 libc/sysdeps/linux/arc/clone.S                     |  46 +++-
 libc/sysdeps/linux/arc/jmpbuf-unwind.h             |  17 ++
 libc/sysdeps/linux/arc/sysdep.h                    |   4 +
 libc/sysdeps/linux/arc/vfork.S                     |  13 +
 libpthread/nptl/sysdeps/arc/Makefile.arch          |  13 +
 libpthread/nptl/sysdeps/arc/dl-tls.h               |  28 +++
 libpthread/nptl/sysdeps/arc/jmpbuf-unwind.h        |  32 +++
 libpthread/nptl/sysdeps/arc/libc-tls.c             |  27 ++
 libpthread/nptl/sysdeps/arc/pthread_spin_lock.S    |  21 ++
 libpthread/nptl/sysdeps/arc/pthread_spin_trylock.S |  31 +++
 libpthread/nptl/sysdeps/arc/pthreaddef.h           |  40 +++
 libpthread/nptl/sysdeps/arc/tcb-offsets.sym        |   8 +
 libpthread/nptl/sysdeps/arc/tls.h                  | 160 ++++++++++++
 .../nptl/sysdeps/unix/sysv/linux/arc/Makefile      |  13 +
 .../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch |  32 +++
 .../unix/sysv/linux/arc/bits/pthreadtypes.h        | 181 +++++++++++++
 .../sysdeps/unix/sysv/linux/arc/bits/semaphore.h   |  35 +++
 .../nptl/sysdeps/unix/sysv/linux/arc/clone.S       |  10 +
 .../sysdeps/unix/sysv/linux/arc/createthread.c     |  25 ++
 libpthread/nptl/sysdeps/unix/sysv/linux/arc/fork.c |  30 +++
 .../unix/sysv/linux/arc/libc-lowlevellock.c        |  21 ++
 .../sysdeps/unix/sysv/linux/arc/lowlevellock.c     | 126 ++++++++++
 .../sysdeps/unix/sysv/linux/arc/lowlevellock.h     | 279 +++++++++++++++++++++
 .../unix/sysv/linux/arc/pt-__syscall_error.c       |   7 +
 .../sysv/linux/arc/pt-__syscall_rt_sigaction.c     |  13 +
 .../sysdeps/unix/sysv/linux/arc/pt-gettimeofday.c  |  11 +
 .../nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S    |   7 +
 .../sysdeps/unix/sysv/linux/arc/pthread_once.c     | 100 ++++++++
 .../sysdeps/unix/sysv/linux/arc/sysdep-cancel.h    | 115 +++++++++
 .../nptl/sysdeps/unix/sysv/linux/arc/vfork.S       |  11 +
 test/tls/tls-macros.h                              |  30 +++
 38 files changed, 1608 insertions(+), 25 deletions(-)
 create mode 100644 libc/sysdeps/linux/arc/bits/atomic.h
 create mode 100644 libpthread/nptl/sysdeps/arc/Makefile.arch
 create mode 100644 libpthread/nptl/sysdeps/arc/dl-tls.h
 create mode 100644 libpthread/nptl/sysdeps/arc/jmpbuf-unwind.h
 create mode 100644 libpthread/nptl/sysdeps/arc/libc-tls.c
 create mode 100644 libpthread/nptl/sysdeps/arc/pthread_spin_lock.S
 create mode 100644 libpthread/nptl/sysdeps/arc/pthread_spin_trylock.S
 create mode 100644 libpthread/nptl/sysdeps/arc/pthreaddef.h
 create mode 100644 libpthread/nptl/sysdeps/arc/tcb-offsets.sym
 create mode 100644 libpthread/nptl/sysdeps/arc/tls.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/bits/pthreadtypes.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/bits/semaphore.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/clone.S
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/createthread.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/fork.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/libc-lowlevellock.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-__syscall_error.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-__syscall_rt_sigaction.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-gettimeofday.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pthread_once.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/sysdep-cancel.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/vfork.S

-- 
1.8.3.2



More information about the uClibc mailing list