* Architectures status 2012-12-18 @ 2012-12-18 20:34 Joseph S. Myers 2012-12-18 22:20 ` Andreas Schwab 2012-12-19 9:39 ` David Miller 0 siblings, 2 replies; 5+ messages in thread From: Joseph S. Myers @ 2012-12-18 20:34 UTC (permalink / raw) To: libc-ports; +Cc: libc-alpha Here is my understanding of the current status of ports with regard to being updated for global changes in libc. There are also some notes for some libc architectures where such updates seem to be needed. I have not included any cases where libm-test-ulps needs updating in this list. libc: * Hurd: (a) Hurd needs ABI test baselines. (b) Hurd needs a c++-types.data file. * PowerPC: (a) PowerPC needs sotruss-lib.c support. * S/390: (a) S/390 needs sotruss-lib.c support. * SH: (a) SH needs a c++-types.data file. (b) SH needs sotruss-lib.c support. * SPARC: (a) SPARC should have lll_futex_timed_wait_bitset added. ports: * Alpha: (a) Alpha should have lll_futex_timed_wait_bitset added. * IA64: (a) IA64 needs a sotruss-lib.c file. (b) IA64 should have lll_futex_timed_wait_bitset added. * Tile: (a) Tile should have lll_futex_timed_wait_bitset added. * m68k: (a) May need updates to its ccos / csin / ccosh / csinh implementations along the lines of my 2012-05-19 libc changes to avoid spurious overflows (bug 14123). * hppa: (a) sysdeps/unix/sysv/linux/hppa/syscalls.list has a __connect_internal alias that has been removed for other architectures. (b) There are no ABI test baselines for hppa. (c) hppa still has conditionals on or definitions of obsolete macros USE_TLS and USE___THREAD. (d) sysdeps/unix/sysv/linux/hppa/bits/mman.h is missing MAP_STACK and MAP_HUGETLB. (e) sysdeps/unix/sysv/linux/hppa/bits/mman.h is missing MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP and MADV_HWPOISON. (f) sysdeps/unix/sysv/linux/hppa/bits/shm.h is missing SHM_EXEC. (g) sysdeps/unix/sysv/linux/hppa/bits/sigaction.h is missing the change to define SA_RESTART, SA_NODEFER and SA_RESETHAND if __USE_XOPEN2K8. (h) sysdeps/unix/sysv/linux/hppa/sys/epoll.h still exists but bits/epoll.h should now be provided instead. (i) sysdeps/unix/sysv/linux/hppa/sys/eventfd.h still exists but bits/eventfd.h should now be provided instead. (j) sysdeps/unix/sysv/linux/hppa/sys/inotify.h still exists but bits/inotify.h should now be provided instead. (k) sysdeps/unix/sysv/linux/hppa/sys/signalfd.h still exists but bits/signalfd.h should now be provided instead. (l) sysdeps/unix/sysv/linux/hppa/sys/timerfd.h still exists but bits/timerfd.h should now be provided instead. (m) sysdeps/unix/sysv/linux/hppa/syscalls.list is missing fanotify_mark which means it is likely that functions is missing on hppa (and when added, will need appropriate Versions addition to avoid adding it to an old version). (n) An entry in libc's sysdeps/unix/sysv/linux/configure.in for hppa was removed on 2012-01-07 and a ports update may be needed. That entry may actually have been dead because of the arch_minimum_kernel setting in sysdeps/unix/sysv/linux/hppa/nptl/configure.in - but in that case, there's the question of whether the libc_cv_gcc_unwind_find_fde=yes that was in libc's file for hppa should go in the ports version (if that was a correct description of old libc binaries on hppa). (o) sysdeps/unix/sysv/linux/hppa/kernel-features.h still defines __ASSUME_32BITUIDS and __ASSUME_TRUNCATE64_SYSCALL (no longer used). (p) There is no c++-types.data for hppa. (q) The TLS configure checks should be removed from sysdeps/hppa/configure.in, now the rule is that we assume a recent-enough binutils and such checks are no longer needed for each architecture and have been removed for other architectures. (r) __ASSUME_LWS_CAS (definition and uses) should be removed now 2.6.16 is the global minimum kernel version. (s) lll_futex_timed_wait_bitset should be defined for hppa. (t) hppa needs a sotruss-lib.c file. * am33: generally massively out of date and I have not tried to identify specific changes needed. Some updates were posted in <http://sourceware.org/ml/libc-ports/2012-06/msg00066.html> and issues pointed out in comments on those updates. At least the following postdate those comments or were not included in them: sotruss-lib.c is needed; bits/fcntl.h needs updating for the fcntl-linux.h refactoring; ASM_TYPE_DIRECTIVE and ASM_GLOBAL_DIRECTIVE need removing from the port. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Architectures status 2012-12-18 2012-12-18 20:34 Architectures status 2012-12-18 Joseph S. Myers @ 2012-12-18 22:20 ` Andreas Schwab 2012-12-19 9:39 ` David Miller 1 sibling, 0 replies; 5+ messages in thread From: Andreas Schwab @ 2012-12-18 22:20 UTC (permalink / raw) To: Joseph S. Myers; +Cc: libc-ports, libc-alpha "Joseph S. Myers" <joseph@codesourcery.com> writes: > * PowerPC: > > (a) PowerPC needs sotruss-lib.c support. * sysdeps/powerpc/sotruss-lib.c: New file. --- sysdeps/powerpc/sotruss-lib.c | 84 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 sysdeps/powerpc/sotruss-lib.c diff --git a/sysdeps/powerpc/sotruss-lib.c b/sysdeps/powerpc/sotruss-lib.c new file mode 100644 index 0000000..a1d738c --- /dev/null +++ b/sysdeps/powerpc/sotruss-lib.c @@ -0,0 +1,84 @@ +/* Override generic sotruss-lib.c to define actual functions for powerpc. + Copyright (C) 2012 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/>. */ + +#define HAVE_ARCH_PLTENTER +#define HAVE_ARCH_PLTEXIT + +#include <elf/sotruss-lib.c> + +#if __ELF_NATIVE_CLASS == 32 + +ElfW(Addr) +la_ppc32_gnu_pltenter (Elf32_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_ppc32_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[3], regs->lr_reg[4], regs->lr_reg[5], *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} + +unsigned int +la_ppc32_gnu_pltexit (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, + const struct La_ppc32_regs *inregs, + struct La_ppc32_retval *outregs, + const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_r3); + + return 0; +} + +#else + +ElfW(Addr) +la_ppc64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_ppc64_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[3], regs->lr_reg[4], regs->lr_reg[5], *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} + +unsigned int +la_ppc64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, + const struct La_ppc64_regs *inregs, + struct La_ppc64_retval *outregs, + const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_r3); + + return 0; +} + +#endif > * m68k: > > (a) May need updates to its ccos / csin / ccosh / csinh > implementations along the lines of my 2012-05-19 libc changes to > avoid spurious overflows (bug 14123). It also needs its pow implementation rewritten from scratch. Patches welcome. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Architectures status 2012-12-18 2012-12-18 20:34 Architectures status 2012-12-18 Joseph S. Myers 2012-12-18 22:20 ` Andreas Schwab @ 2012-12-19 9:39 ` David Miller 2012-12-19 14:52 ` Joseph S. Myers 2012-12-19 18:24 ` Carlos O'Donell 1 sibling, 2 replies; 5+ messages in thread From: David Miller @ 2012-12-19 9:39 UTC (permalink / raw) To: joseph; +Cc: libc-ports, libc-alpha From: "Joseph S. Myers" <joseph@codesourcery.com> Date: Tue, 18 Dec 2012 20:34:27 +0000 > * SPARC: > > (a) SPARC should have lll_futex_timed_wait_bitset added. I have this in my TODO list, but for glibc-2.18. This is an optimization and there is no reason to target it for 2.17 Likewise for all other targets. I feel similarly about sotruss-lib.c additions, maintainers had forever to take care of stuff like that. It's a feature issue. As for HPPA, I'm pretty sure that Carlos is aware that it needs a lot of work, but this is again totally outside of the scope for 2.17 Thanks for looking into all of this. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Architectures status 2012-12-18 2012-12-19 9:39 ` David Miller @ 2012-12-19 14:52 ` Joseph S. Myers 2012-12-19 18:24 ` Carlos O'Donell 1 sibling, 0 replies; 5+ messages in thread From: Joseph S. Myers @ 2012-12-19 14:52 UTC (permalink / raw) To: David Miller; +Cc: libc-ports, libc-alpha On Wed, 19 Dec 2012, David Miller wrote: > I have this in my TODO list, but for glibc-2.18. This is an > optimization and there is no reason to target it for 2.17 The point of the list is not so much that things should be done for a particular release (although I'd certainly like to see a release eventually where all systems are up to date, including Hurd, HPPA and AM33), as to provide something more recent than the list I sent to libc-ports several months ago to link from the general todo / projects list <http://sourceware.org/glibc/wiki/Development_Todo/Master>. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Architectures status 2012-12-18 2012-12-19 9:39 ` David Miller 2012-12-19 14:52 ` Joseph S. Myers @ 2012-12-19 18:24 ` Carlos O'Donell 1 sibling, 0 replies; 5+ messages in thread From: Carlos O'Donell @ 2012-12-19 18:24 UTC (permalink / raw) To: David Miller; +Cc: joseph, libc-ports, libc-alpha On 12/19/2012 04:39 AM, David Miller wrote: > As for HPPA, I'm pretty sure that Carlos is aware that it needs a lot > of work, but this is again totally outside of the scope for 2.17 Fully agree. I am aware of the situation and work closely with Gentoo to ensure HPPA users are well served even if upstream is not in a particularly useful state. Cheers, Carlos. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-12-19 18:24 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-12-18 20:34 Architectures status 2012-12-18 Joseph S. Myers 2012-12-18 22:20 ` Andreas Schwab 2012-12-19 9:39 ` David Miller 2012-12-19 14:52 ` Joseph S. Myers 2012-12-19 18:24 ` Carlos O'Donell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).