diff options
author | Alan Modra <amodra@gmail.com> | 2008-01-15 07:25:49 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2008-01-15 07:25:49 +0000 |
commit | 74f0fb5065323b33bef71dfcbbd9b595c88c6c0c (patch) | |
tree | 887fac661eca7841cb2e40e01f993da0f5aa02c7 /bfd/elfxx-target.h | |
parent | 5c07affcae1a9698e488eefae0b1eb30d9743657 (diff) | |
download | gdb-74f0fb5065323b33bef71dfcbbd9b595c88c6c0c.zip gdb-74f0fb5065323b33bef71dfcbbd9b595c88c6c0c.tar.gz gdb-74f0fb5065323b33bef71dfcbbd9b595c88c6c0c.tar.bz2 |
bfd/
PR 5604
* elf-bfd.h (struct elf_backend_data): Add gc_keep. Remove param
names from others.
(_bfd_elf_gc_keep): Declare.
* elfxx-target.h (elf_backend_gc_keep): Define.
(elfNN_bed): Init new field.
* elflink.c (_bfd_elf_gc_keep): New function.
(bfd_elf_gc_sections): Call gc_keep.
* elf64-ppc.c (elf_backend_gc_keep): Define.
(struct _ppc64_elf_section_data): Move .opd related fields to
a struct so they don't occupy the same storage. Adjust accesses
throughout file.
(ppc64_elf_gc_keep): New function, split out from..
(ppc64_elf_gc_mark_hook): ..here. Don't call _bfd_elf_gc_mark
to mark .opd section, just set gc_mark.
(ppc64_elf_edit_opd): Remove no_opd_opt parm. Don't set opd->adjust
unless we are changing .opd. Test non-NULL opd->adjust at all
accesses throughout file.
* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
ld/
PR 5604
* ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
syms to _bfd_elf_gc_keep.
* emultempl/ppc64elf.em (ppc_before_allocation): Don't call
ppc64_elf_edit_opd if no_opd_opt.
Diffstat (limited to 'bfd/elfxx-target.h')
-rw-r--r-- | bfd/elfxx-target.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 3cb1249..53d3c34 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -1,6 +1,6 @@ /* Target definitions for NN-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -132,6 +132,9 @@ #ifndef elf_backend_want_got_sym #define elf_backend_want_got_sym 1 #endif +#ifndef elf_backend_gc_keep +#define elf_backend_gc_keep _bfd_elf_gc_keep +#endif #ifndef elf_backend_gc_mark_dynamic_ref #define elf_backend_gc_mark_dynamic_ref bfd_elf_gc_mark_dynamic_ref_symbol #endif @@ -656,6 +659,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_additional_program_headers, elf_backend_modify_segment_map, elf_backend_modify_program_headers, + elf_backend_gc_keep, elf_backend_gc_mark_dynamic_ref, elf_backend_gc_mark_hook, elf_backend_gc_mark_extra_sections, |