summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-01-08 05:47:47 +0000
committerUlrich Drepper <drepper@redhat.com>2005-01-08 05:47:47 +0000
commit70cd1f971ba91574980d707a1bd7da29a970158c (patch)
treed85c7fcd5dfb7d34a0d4cfc2487fe1eab436deb7 /sysdeps/powerpc
parent85555eeb7b4c2cee0714c8860caa4f5851b9045b (diff)
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.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r--sysdeps/powerpc/powerpc32/bits/link.h10
-rw-r--r--sysdeps/powerpc/powerpc32/dl-machine.c5
-rw-r--r--sysdeps/powerpc/powerpc64/bits/link.h10
3 files changed, 13 insertions, 12 deletions
diff --git a/sysdeps/powerpc/powerpc32/bits/link.h b/sysdeps/powerpc/powerpc32/bits/link.h
index 2d49c09fb4..7f44087120 100644
--- a/sysdeps/powerpc/powerpc32/bits/link.h
+++ b/sysdeps/powerpc/powerpc32/bits/link.h
@@ -24,18 +24,18 @@
/* Registers for entry into PLT on PPC32. */
typedef struct La_ppc32_regs
{
- uint64_t lr_reg[8];
+ uint32_t lr_reg[8];
double lr_fp[8];
uint32_t lr_vreg[12][4];
- uint64_t lr_r1;
- uint64_t lr_lr;
+ uint32_t lr_r1;
+ uint32_t lr_lr;
} La_ppc32_regs;
/* Return values for calls from PLT on PPC32. */
typedef struct La_ppc32_retval
{
- uint64_t lrv_r3;
- uint64_t lrv_r4;
+ uint32_t lrv_r3;
+ uint32_t lrv_r4;
double lrv_fp[8];
uint32_t lrv_v2[4];
} La_ppc32_retval;
diff --git a/sysdeps/powerpc/powerpc32/dl-machine.c b/sysdeps/powerpc/powerpc32/dl-machine.c
index 06960716b9..4120a02382 100644
--- a/sysdeps/powerpc/powerpc32/dl-machine.c
+++ b/sysdeps/powerpc/powerpc32/dl-machine.c
@@ -1,5 +1,5 @@
/* 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.
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);
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
want profiling and the timers are started. */
GL(dl_profile_map) = map;
diff --git a/sysdeps/powerpc/powerpc64/bits/link.h b/sysdeps/powerpc/powerpc64/bits/link.h
index 227c7f9a4f..34e9a60726 100644
--- a/sysdeps/powerpc/powerpc64/bits/link.h
+++ b/sysdeps/powerpc/powerpc64/bits/link.h
@@ -26,18 +26,18 @@
/* Registers for entry into PLT on PPC32. */
typedef struct La_ppc32_regs
{
- uint64_t lr_reg[8];
+ uint32_t lr_reg[8];
double lr_fp[8];
uint32_t lr_vreg[12][4];
- uint64_t lr_r1;
- uint64_t lr_lr;
+ uint32_t lr_r1;
+ uint32_t lr_lr;
} La_ppc32_regs;
/* Return values for calls from PLT on PPC32. */
typedef struct La_ppc32_retval
{
- uint64_t lrv_r3;
- uint64_t lrv_r4;
+ uint32_t lrv_r3;
+ uint32_t lrv_r4;
double lrv_fp[8];
uint32_t lrv_v2[4];
} La_ppc32_retval;