From 30f696374d434578a159712552f3da533f02e8dd Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Thu, 16 Aug 2012 08:36:24 -0700 Subject: Fifth argument of la_pltenter() is not constant. The original runtime linker auditing interface described by Solaris allows the 5th argument of la_pltenter() to be modified. This patch cleans up the ldsodefs.h definitions such that the 5th argument is not constant. At one point the 5th argument *was* constant but this was changed with commit 2413fdba7a02ba8916f75d17199a6e9133a8f7b0. This patch updates alpha, ia64, mips, sh and sparc with similar changes. --- ChangeLog | 8 ++++++++ ports/ChangeLog.alpha | 5 +++++ ports/ChangeLog.ia64 | 5 +++++ ports/ChangeLog.mips | 6 ++++++ ports/sysdeps/alpha/ldsodefs.h | 2 +- ports/sysdeps/ia64/ldsodefs.h | 2 +- ports/sysdeps/mips/ldsodefs.h | 6 +++--- sysdeps/sh/ldsodefs.h | 2 +- sysdeps/sparc/ldsodefs.h | 4 ++-- 9 files changed, 32 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5a3f08fc8e..8f6903c408 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-08-16 Carlos O'Donell + + * 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. + 2012-08-16 Joseph Myers * sysdeps/unix/sysv/linux/kernel-features.h diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index b09cbb8727..266f42d970 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,8 @@ +2012-08-16 Carlos O'Donell + + * sysdeps/alpha/ldsodefs.h (ARCH_PLTENTER_MEMBERS) + : struct La_alpha_regs is not const. + 2012-08-13 Richard Henderson * configure.in: Don't test toolchain support for TLS or GPREL. diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 8e1f0ff7d0..abc246364a 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,8 @@ +2012-08-16 Carlos O'Donell + + * sysdeps/ia64/ldsodefs.h (ARCH_PLTENTER_MEMBERS) + : struct La_ia64_regs is not constant. + 2012-08-14 Mike Frysinger * sysdeps/ia64/configure.in: Remove assembler-with-cpp debug check. diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index f8c18b3275..dfab023ee7 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,9 @@ +2012-08-16 Carlos O'Donell + + * sysdeps/mips/ldsodefs.h (ARCH_PLTENTER_MEMBERS) + : + struct La_mips_32_regs and struct La_mips_64_regs are not constant. + 2012-08-15 Tom de Vries Maxim Kuvyrkov diff --git a/ports/sysdeps/alpha/ldsodefs.h b/ports/sysdeps/alpha/ldsodefs.h index 478bf237db..464e84ea39 100644 --- a/ports/sysdeps/alpha/ldsodefs.h +++ b/ports/sysdeps/alpha/ldsodefs.h @@ -26,7 +26,7 @@ struct La_alpha_retval; #define ARCH_PLTENTER_MEMBERS \ Elf64_Addr (*alpha_gnu_pltenter) (Elf64_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_alpha_regs *, \ + struct La_alpha_regs *, \ unsigned int *, const char *name, \ long int *framesizep); diff --git a/ports/sysdeps/ia64/ldsodefs.h b/ports/sysdeps/ia64/ldsodefs.h index 269319e841..d5fde93836 100644 --- a/ports/sysdeps/ia64/ldsodefs.h +++ b/ports/sysdeps/ia64/ldsodefs.h @@ -26,7 +26,7 @@ struct La_ia64_retval; #define ARCH_PLTENTER_MEMBERS \ Elf64_Addr (*ia64_gnu_pltenter) (Elf64_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_ia64_regs *, \ + struct La_ia64_regs *, \ unsigned int *, const char *name, \ long int *framesizep); diff --git a/ports/sysdeps/mips/ldsodefs.h b/ports/sysdeps/mips/ldsodefs.h index ab4e9ef1ec..791e61896e 100644 --- a/ports/sysdeps/mips/ldsodefs.h +++ b/ports/sysdeps/mips/ldsodefs.h @@ -29,17 +29,17 @@ struct La_mips_64_retval; #define ARCH_PLTENTER_MEMBERS \ Elf32_Addr (*mips_o32_gnu_pltenter) (Elf32_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_mips_32_regs *, \ + struct La_mips_32_regs *, \ unsigned int *, const char *name, \ long int *framesizep); \ Elf32_Addr (*mips_n32_gnu_pltenter) (Elf32_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_mips_64_regs *, \ + struct La_mips_64_regs *, \ unsigned int *, const char *name, \ long int *framesizep); \ Elf64_Addr (*mips_n64_gnu_pltenter) (Elf64_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_mips_64_regs *, \ + struct La_mips_64_regs *, \ unsigned int *, const char *name, \ long int *framesizep); diff --git a/sysdeps/sh/ldsodefs.h b/sysdeps/sh/ldsodefs.h index 66d1e2fbb6..74c0f417b4 100644 --- a/sysdeps/sh/ldsodefs.h +++ b/sysdeps/sh/ldsodefs.h @@ -26,7 +26,7 @@ struct La_sh_retval; #define ARCH_PLTENTER_MEMBERS \ uintptr_t (*sh_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *, \ - uintptr_t *, const struct La_sh_regs *, \ + uintptr_t *, struct La_sh_regs *, \ unsigned int *, const char *name, \ long int *framesizep) diff --git a/sysdeps/sparc/ldsodefs.h b/sysdeps/sparc/ldsodefs.h index 2cfdc49f7b..dc68860826 100644 --- a/sysdeps/sparc/ldsodefs.h +++ b/sysdeps/sparc/ldsodefs.h @@ -29,12 +29,12 @@ struct La_sparc64_retval; #define ARCH_PLTENTER_MEMBERS \ Elf32_Addr (*sparc32_gnu_pltenter) (Elf32_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_sparc32_regs *, \ + struct La_sparc32_regs *, \ unsigned int *, const char *name, \ long int *framesizep); \ Elf64_Addr (*sparc64_gnu_pltenter) (Elf64_Sym *, unsigned int, \ uintptr_t *, uintptr_t *, \ - const struct La_sparc64_regs *, \ + struct La_sparc64_regs *, \ unsigned int *, const char *name, \ long int *framesizep) -- cgit 1.4.1