public inbox for libc-ports@sourceware.org
 help / color / mirror / Atom feed
* 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).