This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Thu, Jan 30, 2003 at 06:08:18PM +0100, Jakub Jelinek wrote:
> Hi!
>
> GCC inliner needs to be improved, but in the mean time we can help
> it a little bit.
This patch broke ppc{32,64}, because on that arch elf_machine_lazy_rel
was declared in the dl_machine_h, not RESOLVE section of dl-machine.h,
thus the always_inline prototype for it came after that and gcc
got upset. Bootstrapped and regtested on ppc32.
2003-01-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_lazy_rel):
Move to RESOLVE protected part of the header.
* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_lazy_rel):
Likewise.
--- libc/sysdeps/powerpc/powerpc32/dl-machine.h.jj 2002-09-05 04:24:49.000000000 -0400
+++ libc/sysdeps/powerpc/powerpc32/dl-machine.h 2003-01-30 13:52:40.000000000 -0500
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. PowerPC version.
- Copyright (C) 1995-2000,01,02 Free Software Foundation, Inc.
+ Copyright (C) 1995-2002, 2003 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
@@ -295,13 +295,6 @@ extern int __elf_machine_runtime_setup (
int lazy, int profile);
#define elf_machine_runtime_setup __elf_machine_runtime_setup
-static inline void
-elf_machine_lazy_rel (struct link_map *map,
- Elf32_Addr l_addr, const Elf32_Rela *reloc)
-{
- /* elf_machine_runtime_setup handles this. */
-}
-
/* Change the PLT entry whose reloc is 'reloc' to call the actual routine. */
extern Elf32_Addr __elf_machine_fixup_plt (struct link_map *map,
const Elf32_Rela *reloc,
@@ -411,6 +404,13 @@ elf_machine_rela_relative (Elf32_Addr l_
*reloc_addr = l_addr + reloc->r_addend;
}
+static inline void
+elf_machine_lazy_rel (struct link_map *map,
+ Elf32_Addr l_addr, const Elf32_Rela *reloc)
+{
+ /* elf_machine_runtime_setup handles this. */
+}
+
/* The SVR4 ABI specifies that the JMPREL relocs must be inside the
DT_RELA table. */
#define ELF_MACHINE_PLTREL_OVERLAP 1
--- libc/sysdeps/powerpc/powerpc64/dl-machine.h.jj 2002-10-10 08:05:06.000000000 -0400
+++ libc/sysdeps/powerpc/powerpc64/dl-machine.h 2003-01-30 13:52:27.000000000 -0500
@@ -1,6 +1,6 @@
/* Machine-dependent ELF dynamic relocation inline functions.
PowerPC64 version.
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -452,13 +452,6 @@ elf_machine_runtime_setup (struct link_m
return lazy;
}
-static inline void
-elf_machine_lazy_rel (struct link_map *map,
- Elf64_Addr l_addr, const Elf64_Rela *reloc)
-{
- /* elf_machine_runtime_setup handles this. */
-}
-
/* Change the PLT entry whose reloc is 'reloc' to call the actual
routine. */
static inline Elf64_Addr
@@ -747,4 +740,11 @@ elf_machine_rela (struct link_map *map,
MODIFIED_CODE_NOQUEUE (reloc_addr);
}
+static inline void
+elf_machine_lazy_rel (struct link_map *map,
+ Elf64_Addr l_addr, const Elf64_Rela *reloc)
+{
+ /* elf_machine_runtime_setup handles this. */
+}
+
#endif /* RESOLVE */
Jakub
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |