diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-03-21 20:25:11 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-03-21 20:25:11 +0000 |
commit | 11e8a843c1be2bfbacb427ca25282e6979ebb48f (patch) | |
tree | 3358bff2de223bb79aa10ff35c4273cb94dc04e8 /libc/elf | |
parent | 21983719922788c86799322b2b4cd68830712137 (diff) |
Merge changes between r17530 and r17700 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@17701 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/elf')
-rw-r--r-- | libc/elf/cache.c | 4 | ||||
-rw-r--r-- | libc/elf/dl-cache.c | 2 | ||||
-rw-r--r-- | libc/elf/dl-minimal.c | 2 | ||||
-rw-r--r-- | libc/elf/dl-misc.c | 2 | ||||
-rw-r--r-- | libc/elf/dl-sysdep.c | 2 | ||||
-rw-r--r-- | libc/elf/dl-version.c | 2 | ||||
-rw-r--r-- | libc/elf/rtld.c | 2 | ||||
-rw-r--r-- | libc/elf/sotruss-lib.c | 58 |
8 files changed, 66 insertions, 8 deletions
diff --git a/libc/elf/cache.c b/libc/elf/cache.c index dadab9132..db8b9fa2f 100644 --- a/libc/elf/cache.c +++ b/libc/elf/cache.c @@ -90,6 +90,10 @@ print_entry (const char *lib, int flag, unsigned int osversion, break; case FLAG_MIPS64_LIBN64: fputs (",64bit", stdout); + break; + case FLAG_X8664_LIBX32: + fputs (",x32", stdout); + break; case 0: break; default: diff --git a/libc/elf/dl-cache.c b/libc/elf/dl-cache.c index b57a60028..c1bd1356f 100644 --- a/libc/elf/dl-cache.c +++ b/libc/elf/dl-cache.c @@ -24,7 +24,7 @@ #include <dl-cache.h> #include <dl-procinfo.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #ifndef _DL_PLATFORMS_COUNT # define _DL_PLATFORMS_COUNT 0 diff --git a/libc/elf/dl-minimal.c b/libc/elf/dl-minimal.c index 3a984afb1..316de99b8 100644 --- a/libc/elf/dl-minimal.c +++ b/libc/elf/dl-minimal.c @@ -26,7 +26,7 @@ #include <sys/param.h> #include <sys/types.h> #include <ldsodefs.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #include <assert.h> diff --git a/libc/elf/dl-misc.c b/libc/elf/dl-misc.c index 9bf642daa..22fbba38d 100644 --- a/libc/elf/dl-misc.c +++ b/libc/elf/dl-misc.c @@ -30,7 +30,7 @@ #include <sys/stat.h> #include <sys/uio.h> #include <sysdep.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #include <bits/libc-lock.h> /* Read the whole contents of FILE into new mmap'd space with given diff --git a/libc/elf/dl-sysdep.c b/libc/elf/dl-sysdep.c index 0920cc155..1cb4460a0 100644 --- a/libc/elf/dl-sysdep.c +++ b/libc/elf/dl-sysdep.c @@ -29,7 +29,7 @@ #include <sys/stat.h> #include <sys/mman.h> #include <ldsodefs.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #include <fpu_control.h> #include <entry.h> diff --git a/libc/elf/dl-version.c b/libc/elf/dl-version.c index 3b1297545..047db2f82 100644 --- a/libc/elf/dl-version.c +++ b/libc/elf/dl-version.c @@ -23,7 +23,7 @@ #include <stdlib.h> #include <string.h> #include <ldsodefs.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #include <assert.h> diff --git a/libc/elf/rtld.c b/libc/elf/rtld.c index 8fbeaf661..7fb5dc615 100644 --- a/libc/elf/rtld.c +++ b/libc/elf/rtld.c @@ -28,7 +28,7 @@ #include <sys/param.h> #include <sys/stat.h> #include <ldsodefs.h> -#include <stdio-common/_itoa.h> +#include <_itoa.h> #include <entry.h> #include <fpu_control.h> #include <hp-timing.h> diff --git a/libc/elf/sotruss-lib.c b/libc/elf/sotruss-lib.c index 542672692..c2ab7330d 100644 --- a/libc/elf/sotruss-lib.c +++ b/libc/elf/sotruss-lib.c @@ -1,5 +1,5 @@ /* Trace calls through PLTs and show caller, callee, and parameters. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gmail.com>, 2011. @@ -288,6 +288,40 @@ la_x86_64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)), return sym->st_value; } +#elif defined __sparc__ && !defined __arch64__ +Elf32_Addr +la_sparc32_gnu_pltenter (Elf32_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_sparc32_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], + *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} +#elif defined __sparc__ && defined __arch64__ +Elf64_Addr +la_sparc64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_sparc64_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], + *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} #elif !defined HAVE_ARCH_PLTENTER # warning "pltenter for architecture not supported" #endif @@ -302,7 +336,7 @@ print_exit (uintptr_t *refcook, uintptr_t *defcook, const char *symname, if (print_pid) snprintf (buf, sizeof (buf), "%5ld: ", (long int) getpid ()); - fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lu\n", + fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lx\n", buf, (char *) *refcook, (char *) *defcook, " ", symname, reg); } @@ -327,6 +361,26 @@ la_x86_64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, return 0; } +#elif defined __sparc__ && !defined __arch64__ +unsigned int +la_sparc32_gnu_pltexit (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, const struct La_sparc32_regs *inregs, + struct La_sparc32_retval *outregs, const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_reg[0]); + + return 0; +} +#elif defined __sparc__ && defined __arch64__ +unsigned int +la_sparc64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, const struct La_sparc64_regs *inregs, + struct La_sparc64_retval *outregs, const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_reg[0]); + + return 0; +} #elif !defined HAVE_ARCH_PLTEXIT # warning "pltexit for architecture not supported" #endif |