Update.
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_runtime_setup): If profile != 0 does not anymore mean GLRO(dl_profile) != NULL. * sysdeps/powerpc/powerpc32/bits/link.h: Fix types of some fields in the register and result structures. * sysdeps/powerpc/powerpc64/bits/link.h: Fix types of some fields in the 32-bit register and result structures.
This commit is contained in:
parent
85555eeb7b
commit
70cd1f971b
|
@ -1,8 +1,14 @@
|
||||||
2005-01-07 Ulrich Drepper <drepper@redhat.com>
|
2005-01-07 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_runtime_setup):
|
||||||
|
If profile != 0 does not anymore mean GLRO(dl_profile) != NULL.
|
||||||
* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_prof_resolve):
|
* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_prof_resolve):
|
||||||
Extend _dl_prof_resolve to add pass extra parameters to
|
Extend _dl_prof_resolve to add pass extra parameters to
|
||||||
_dl_profile_fixup and set up structure with register content.
|
_dl_profile_fixup and set up structure with register content.
|
||||||
|
* sysdeps/powerpc/powerpc32/bits/link.h: Fix types of some fields in
|
||||||
|
the register and result structures.
|
||||||
|
* sysdeps/powerpc/powerpc64/bits/link.h: Fix types of some fields
|
||||||
|
in the 32-bit register and result structures.
|
||||||
|
|
||||||
* sysdeps/powerpc/powerpc64/dl-trampoline.S: Use register names.
|
* sysdeps/powerpc/powerpc64/dl-trampoline.S: Use register names.
|
||||||
|
|
||||||
|
|
|
@ -24,18 +24,18 @@
|
||||||
/* Registers for entry into PLT on PPC32. */
|
/* Registers for entry into PLT on PPC32. */
|
||||||
typedef struct La_ppc32_regs
|
typedef struct La_ppc32_regs
|
||||||
{
|
{
|
||||||
uint64_t lr_reg[8];
|
uint32_t lr_reg[8];
|
||||||
double lr_fp[8];
|
double lr_fp[8];
|
||||||
uint32_t lr_vreg[12][4];
|
uint32_t lr_vreg[12][4];
|
||||||
uint64_t lr_r1;
|
uint32_t lr_r1;
|
||||||
uint64_t lr_lr;
|
uint32_t lr_lr;
|
||||||
} La_ppc32_regs;
|
} La_ppc32_regs;
|
||||||
|
|
||||||
/* Return values for calls from PLT on PPC32. */
|
/* Return values for calls from PLT on PPC32. */
|
||||||
typedef struct La_ppc32_retval
|
typedef struct La_ppc32_retval
|
||||||
{
|
{
|
||||||
uint64_t lrv_r3;
|
uint32_t lrv_r3;
|
||||||
uint64_t lrv_r4;
|
uint32_t lrv_r4;
|
||||||
double lrv_fp[8];
|
double lrv_fp[8];
|
||||||
uint32_t lrv_v2[4];
|
uint32_t lrv_v2[4];
|
||||||
} La_ppc32_retval;
|
} La_ppc32_retval;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Machine-dependent ELF dynamic relocation functions. PowerPC version.
|
/* Machine-dependent ELF dynamic relocation functions. PowerPC version.
|
||||||
Copyright (C) 1995-2003, 2004 Free Software Foundation, Inc.
|
Copyright (C) 1995-2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
@ -242,7 +242,8 @@ __elf_machine_runtime_setup (struct link_map *map, int lazy, int profile)
|
||||||
: _dl_runtime_resolve);
|
: _dl_runtime_resolve);
|
||||||
Elf32_Word offset;
|
Elf32_Word offset;
|
||||||
|
|
||||||
if (profile && _dl_name_match_p (GLRO(dl_profile), map))
|
if (profile && GLRO(dl_profile) != NULL
|
||||||
|
&& _dl_name_match_p (GLRO(dl_profile), map))
|
||||||
/* This is the object we are looking for. Say that we really
|
/* This is the object we are looking for. Say that we really
|
||||||
want profiling and the timers are started. */
|
want profiling and the timers are started. */
|
||||||
GL(dl_profile_map) = map;
|
GL(dl_profile_map) = map;
|
||||||
|
|
|
@ -26,18 +26,18 @@
|
||||||
/* Registers for entry into PLT on PPC32. */
|
/* Registers for entry into PLT on PPC32. */
|
||||||
typedef struct La_ppc32_regs
|
typedef struct La_ppc32_regs
|
||||||
{
|
{
|
||||||
uint64_t lr_reg[8];
|
uint32_t lr_reg[8];
|
||||||
double lr_fp[8];
|
double lr_fp[8];
|
||||||
uint32_t lr_vreg[12][4];
|
uint32_t lr_vreg[12][4];
|
||||||
uint64_t lr_r1;
|
uint32_t lr_r1;
|
||||||
uint64_t lr_lr;
|
uint32_t lr_lr;
|
||||||
} La_ppc32_regs;
|
} La_ppc32_regs;
|
||||||
|
|
||||||
/* Return values for calls from PLT on PPC32. */
|
/* Return values for calls from PLT on PPC32. */
|
||||||
typedef struct La_ppc32_retval
|
typedef struct La_ppc32_retval
|
||||||
{
|
{
|
||||||
uint64_t lrv_r3;
|
uint32_t lrv_r3;
|
||||||
uint64_t lrv_r4;
|
uint32_t lrv_r4;
|
||||||
double lrv_fp[8];
|
double lrv_fp[8];
|
||||||
uint32_t lrv_v2[4];
|
uint32_t lrv_v2[4];
|
||||||
} La_ppc32_retval;
|
} La_ppc32_retval;
|
||||||
|
|
Loading…
Reference in New Issue