This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] alpha, ia64, m68k, mips, sh, sparc: *_gnu_pltenter shouldallow modification of struct La_*_regs.
- From: Carlos O'Donell <carlos_odonell at mentor dot com>
- To: Carlos O'Donell <carlos_odonell at mentor dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>, David Miller<davem at davemloft dot net>, "Schwinge, Thomas" <Thomas_Schwinge at mentor dot com>,"Joseph S. Myers" <joseph at codesourcery dot com>, Richard Henderson<rth at twiddle dot net>, Mike Frysinger <vapier at gentoo dot org>
- Date: Thu, 16 Aug 2012 11:41:42 -0400
- Subject: Re: [PATCH] alpha, ia64, m68k, mips, sh, sparc: *_gnu_pltenter shouldallow modification of struct La_*_regs.
- References: <502C3FF9.7050307@mentor.com>
On 8/15/2012 8:34 PM, Carlos O'Donell wrote:
>
> The *_gnu_pltenter interface allows the modification of the incoming
> set of registers in struct La_*_regs, that is to say that the 5th
> argument of la_*_pltenter() is non-constant.
>
> This was not always the case, but it is the case now and has been
> since it was silently changed in commit
> 2413fdba7a02ba8916f75d17199a6e9133a8f7b0.
>
> Removing const from the 5th argument conforms with the Solaris interface:
> http://docs.oracle.com/cd/E19082-01/819-0690/chapter6-1242/index.html
>
> Removing const for alpha, ia64, m68k, mips, sh, and sparc conforms
> with what the other machines in glibc are already doing.
>
> I haven't tested this, but I don't think anything should go wrong
> given the wide usage of the non-const version right now. We could also
> do with a better test case that does something with the registers.
> For now I'm content to cleanup the definition in ldsodefs.h.
>
> OK to commit?
>
> ports/ChangeLog.alpha
>
> 2012-08-15 Carlos O'Donell <carlos_odonell@mentor.com>
>
> * sysdeps/alpha/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_alpha_regs is not const.
Checked in.
> ports/ChangeLog.ia64
>
> 2012-08-15 Carlos O'Donell <carlos_odonell@mentor.com>
>
> * sysdeps/ia64/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_ia64_regs is not constant.
>
Checked in.
> ports/ChangeLog.m68k
>
> 2012-08-15 Carlos O'Donell <carlos_odonell@mentor.com>
>
> * sysdeps/m68k/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_m68k_regs is not constant.
>
Dropped. Andreas beat me to it.
> ports/ChangeLog.mips
>
> 2012-08-15 Carlos O'Donell <carlos_odonell@mentor.com>
>
> * sysdeps/mips/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_mips_32_regs and struct La_mips_64_regs are
> not constant.
Checked in.
> ChangeLog
>
> 2012-08-15 Carlos O'Donell <carlos_odonell@mentor.com>
>
> * sysdeps/sh/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_sh_regs is not constant.
> * sysdeps/sparc/ldsodefs.h (ARCH_PLTENTER_MEMBERS):
> struct La_sparc32_regs and struct La_sparc64_regs are
> not constant.
Checked in.
Cheers,
Carlos.
--
Carlos O'Donell
Mentor Graphics / CodeSourcery
carlos_odonell@mentor.com
carlos@codesourcery.com
+1 (613) 963 1026