about summary refs log tree commit diff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
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;