This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: alpha-osf: Undefined reference in libbfd.a causes GDB build failure
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Joel Brobecker <brobecker at gnat dot com>
- Cc: gdb-patches at sources dot redhat dot com, binutils at sources dot redhat dot com
- Date: Wed, 5 Jun 2002 12:38:19 +0930
- Subject: Re: alpha-osf: Undefined reference in libbfd.a causes GDB build failure
- References: <20020604103337.A5940@gnat.com>
On Tue, Jun 04, 2002 at 10:33:37AM -0700, Joel Brobecker wrote:
> The problem is that on alpha-osf, elf.c is not compiled in, so libbfd.a
> contains an undefined reference to bfd_elf_discard_group, later causing
> the link-time failure in binutils.
Silly me. This fixes the problem, and also tweaks the generation of
libbfd.h, libcoff.h and bfd-in2.h to include comments showing where
extracted code came from.
bfd/doc/ChangeLog
* Makefile.am (libbfd.h): Add "Extracted from.." comment.
(libcoff.h, bfd.h): Likewise.
* Makefile.in: Regenerate.
bfd/ChangeLog
* bfd-in.h: Remove "taken from the source" comment.
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
* elf.c (bfd_elf_discard_group): Return true.
* elf-bfd.h (bfd_elf_discard_group): Declare.
* bfd-in.h (bfd_elf_discard_group): Don't declare here.
* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
* bfd.c (bfd_discard_group): Define.
* targets.c (struct bfd_target): Add _bfd_discard_group.
(BFD_JUMP_TABLE_LINK): Here too.
* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
* aout-adobe.c (aout_32_bfd_discard_group): Define.
* aout-target.h (MY_bfd_discard_group): Define.
* aout-tic30.c (MY_bfd_discard_group): Define.
* binary.c (binary_bfd_discard_group): Define.
* bout.c (b_out_bfd_discard_group): Define.
* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
* coffcode.h (coff_bfd_discard_group): Define.
* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
* i386msdos.c (msdos_bfd_discard_group): Define.
* i386os9k.c (os9k_bfd_discard_group): Define.
* ieee.c (ieee_bfd_discard_group): Define.
* ihex.c (ihex_bfd_discard_group): Define.
* mmo.c (mmo_bfd_discard_group): Define.
* nlm-target.h (nlm_bfd_discard_group): Define.
* oasys.c (oasys_bfd_discard_group): Define.
* ppcboot.c (ppcboot_bfd_discard_group): Define.
* som.c (som_bfd_discard_group): Define.
* srec.c (srec_bfd_discard_group): Define.
* tekhex.c (tekhex_bfd_discard_group): Define.
* versados.c (versados_bfd_discard_group): Define.
* vms.c (vms_bfd_discard_group): Define.
* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
(aix5coff64_vec): Likewise.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
Index: bfd/doc/Makefile.am
===================================================================
RCS file: /cvs/src/src/bfd/doc/Makefile.am,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile.am
--- bfd/doc/Makefile.am 26 Jan 2002 21:27:36 -0000 1.5
+++ bfd/doc/Makefile.am 5 Jun 2002 02:54:49 -0000
@@ -209,7 +209,10 @@ libbfd.h: $(LIBBFD_H_DEP)
case $$file in \
*-in.h) cat $$file >> $@ ;; \
*/header.sed) break ;; \
- *) ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
+ *) echo -n '/* Extracted from ' >> $@ ; \
+ echo -n $$file | sed -e 's,.*/,,' >> $@ ; \
+ echo '. */' >> $@ ; \
+ ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
esac; \
done
@@ -226,7 +229,10 @@ libcoff.h: $(LIBCOFF_H_DEP)
case $$file in \
*-in.h) cat $$file >> $@ ;; \
*/header.sed) break ;; \
- *) ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
+ *) echo -n '/* Extracted from ' >> $@ ; \
+ echo -n $$file | sed -e 's,.*/,,' >> $@ ; \
+ echo '. */' >> $@ ; \
+ ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
esac; \
done
@@ -255,7 +261,10 @@ bfd.h: $(BFD_H_DEP)
case $$file in \
*-in.h) cat $$file >> $@ ;; \
*/header.sed) break ;; \
- *) ./$(MKDOC) -f $(srcdir)/proto.str < $$file >> $@ ;; \
+ *) echo -n '/* Extracted from ' >> $@ ; \
+ echo -n $$file | sed -e 's,.*/,,' >> $@ ; \
+ echo '. */' >> $@ ; \
+ ./$(MKDOC) -f $(srcdir)/proto.str < $$file >> $@ ;; \
esac; \
done
echo "#ifdef __cplusplus" >> $@
Index: bfd/aout-adobe.c
===================================================================
RCS file: /cvs/src/src/bfd/aout-adobe.c,v
retrieving revision 1.13
diff -u -p -r1.13 aout-adobe.c
--- bfd/aout-adobe.c 15 May 2002 00:18:54 -0000 1.13
+++ bfd/aout-adobe.c 5 Jun 2002 02:53:53 -0000
@@ -510,6 +510,7 @@ aout_adobe_sizeof_headers (ignore_abfd,
#define aout_32_bfd_relax_section bfd_generic_relax_section
#define aout_32_bfd_gc_sections bfd_generic_gc_sections
#define aout_32_bfd_merge_sections bfd_generic_merge_sections
+#define aout_32_bfd_discard_group bfd_generic_discard_group
#define aout_32_bfd_link_hash_table_create \
_bfd_generic_link_hash_table_create
#define aout_32_bfd_link_hash_table_free \
Index: bfd/aout-target.h
===================================================================
RCS file: /cvs/src/src/bfd/aout-target.h,v
retrieving revision 1.15
diff -u -p -r1.15 aout-target.h
--- bfd/aout-target.h 15 May 2002 00:18:54 -0000 1.15
+++ bfd/aout-target.h 5 Jun 2002 02:53:53 -0000
@@ -513,6 +513,9 @@ MY_bfd_final_link (abfd, info)
#ifndef MY_bfd_merge_sections
#define MY_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef MY_bfd_discard_group
+#define MY_bfd_discard_group bfd_generic_discard_group
+#endif
#ifndef MY_bfd_reloc_type_lookup
#define MY_bfd_reloc_type_lookup NAME(aout,reloc_type_lookup)
#endif
Index: bfd/aout-tic30.c
===================================================================
RCS file: /cvs/src/src/bfd/aout-tic30.c,v
retrieving revision 1.15
diff -u -p -r1.15 aout-tic30.c
--- bfd/aout-tic30.c 15 May 2002 00:18:54 -0000 1.15
+++ bfd/aout-tic30.c 5 Jun 2002 02:53:54 -0000
@@ -965,6 +965,9 @@ tic30_aout_set_arch_mach (abfd, arch, ma
#ifndef MY_bfd_merge_sections
#define MY_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef MY_bfd_discard_group
+#define MY_bfd_discard_group bfd_generic_discard_group
+#endif
#ifndef MY_bfd_reloc_type_lookup
#define MY_bfd_reloc_type_lookup tic30_aout_reloc_type_lookup
#endif
Index: bfd/bfd-in.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in.h,v
retrieving revision 1.47
diff -u -p -r1.47 bfd-in.h
--- bfd/bfd-in.h 4 Jun 2002 01:05:21 -0000 1.47
+++ bfd/bfd-in.h 5 Jun 2002 02:53:55 -0000
@@ -657,8 +657,6 @@ extern boolean bfd_elf32_discard_info
PARAMS ((bfd *, struct bfd_link_info *));
extern boolean bfd_elf64_discard_info
PARAMS ((bfd *, struct bfd_link_info *));
-extern void bfd_elf_discard_group
- PARAMS ((bfd *, struct sec *));
/* Return an upper bound on the number of bytes required to store a
copy of ABFD's program header table entries. Return -1 if an error
@@ -815,4 +813,3 @@ extern void bfd_ticoff_set_section_load_
extern int bfd_ticoff_get_section_load_page
PARAMS ((struct sec *));
-/* And more from the source. */
Index: bfd/bfd.c
===================================================================
RCS file: /cvs/src/src/bfd/bfd.c,v
retrieving revision 1.34
diff -u -p -r1.34 bfd.c
--- bfd/bfd.c 21 May 2002 16:21:17 -0000 1.34
+++ bfd/bfd.c 5 Jun 2002 02:53:58 -0000
@@ -1185,6 +1185,9 @@ DESCRIPTION
.#define bfd_merge_sections(abfd, link_info) \
. BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
.
+.#define bfd_discard_group(abfd, sec) \
+. BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
+.
.#define bfd_link_hash_table_create(abfd) \
. BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
.
Index: bfd/binary.c
===================================================================
RCS file: /cvs/src/src/bfd/binary.c,v
retrieving revision 1.14
diff -u -p -r1.14 binary.c
--- bfd/binary.c 15 May 2002 00:18:54 -0000 1.14
+++ bfd/binary.c 5 Jun 2002 02:53:58 -0000
@@ -337,6 +337,7 @@ binary_sizeof_headers (abfd, exec)
#define binary_bfd_relax_section bfd_generic_relax_section
#define binary_bfd_gc_sections bfd_generic_gc_sections
#define binary_bfd_merge_sections bfd_generic_merge_sections
+#define binary_bfd_discard_group bfd_generic_discard_group
#define binary_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define binary_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define binary_bfd_link_just_syms _bfd_generic_link_just_syms
Index: bfd/bout.c
===================================================================
RCS file: /cvs/src/src/bfd/bout.c,v
retrieving revision 1.13
diff -u -p -r1.13 bout.c
--- bfd/bout.c 15 May 2002 00:18:55 -0000 1.13
+++ bfd/bout.c 5 Jun 2002 02:53:59 -0000
@@ -1456,6 +1456,7 @@ b_out_bfd_get_relocated_section_contents
#define b_out_bfd_link_split_section _bfd_generic_link_split_section
#define b_out_bfd_gc_sections bfd_generic_gc_sections
#define b_out_bfd_merge_sections bfd_generic_merge_sections
+#define b_out_bfd_discard_group bfd_generic_discard_group
#define aout_32_get_section_contents_in_window \
_bfd_generic_get_section_contents_in_window
Index: bfd/coff-alpha.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-alpha.c,v
retrieving revision 1.14
diff -u -p -r1.14 coff-alpha.c
--- bfd/coff-alpha.c 25 Jan 2002 12:12:23 -0000 1.14
+++ bfd/coff-alpha.c 5 Jun 2002 02:54:02 -0000
@@ -2356,6 +2356,7 @@ static const struct ecoff_backend_data a
#define _bfd_ecoff_bfd_relax_section bfd_generic_relax_section
#define _bfd_ecoff_bfd_gc_sections bfd_generic_gc_sections
#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections
+#define _bfd_ecoff_bfd_discard_group bfd_generic_discard_group
const bfd_target ecoffalpha_little_vec =
{
Index: bfd/coff-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-mips.c,v
retrieving revision 1.15
diff -u -p -r1.15 coff-mips.c
--- bfd/coff-mips.c 25 Jan 2002 12:12:23 -0000 1.15
+++ bfd/coff-mips.c 5 Jun 2002 02:54:03 -0000
@@ -2602,6 +2602,8 @@ static const struct ecoff_backend_data m
/* Merging of sections is not done. */
#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections
+#define _bfd_ecoff_bfd_discard_group bfd_generic_discard_group
+
extern const bfd_target ecoff_big_vec;
const bfd_target ecoff_little_vec =
Index: bfd/coff-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-rs6000.c,v
retrieving revision 1.41
diff -u -p -r1.41 coff-rs6000.c
--- bfd/coff-rs6000.c 31 May 2002 01:07:21 -0000 1.41
+++ bfd/coff-rs6000.c 5 Jun 2002 02:54:09 -0000
@@ -4189,6 +4189,7 @@ const bfd_target rs6000coff_vec =
_bfd_generic_link_split_section, /* _bfd_link_split_section */
bfd_generic_gc_sections, /* _bfd_gc_sections */
bfd_generic_merge_sections, /* _bfd_merge_sections */
+ bfd_generic_discard_group, /* _bfd_discard_group */
/* Dynamic */
/* _get_dynamic_symtab_upper_bound */
@@ -4450,7 +4451,8 @@ const bfd_target pmac_xcoff_vec =
_bfd_xcoff_bfd_final_link, /* _bfd_final_link */
_bfd_generic_link_split_section, /* _bfd_link_split_section */
bfd_generic_gc_sections, /* _bfd_gc_sections */
- bfd_generic_merge_sections, /* _bfd_merge_sections */
+ bfd_generic_merge_sections, /* _bfd_merge_sections */
+ bfd_generic_discard_group, /* _bfd_discard_group */
/* Dynamic */
/* _get_dynamic_symtab_upper_bound */
Index: bfd/coff64-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff64-rs6000.c,v
retrieving revision 1.30
diff -u -p -r1.30 coff64-rs6000.c
--- bfd/coff64-rs6000.c 31 May 2002 01:07:21 -0000 1.30
+++ bfd/coff64-rs6000.c 5 Jun 2002 02:54:11 -0000
@@ -2735,6 +2735,7 @@ const bfd_target rs6000coff64_vec =
_bfd_generic_link_split_section, /* _bfd_link_split_section */
bfd_generic_gc_sections, /* _bfd_gc_sections */
bfd_generic_merge_sections, /* _bfd_merge_sections */
+ bfd_generic_discard_group, /* _bfd_discard_group */
/* Dynamic */
/* _get_dynamic_symtab_upper_bound */
@@ -2988,6 +2989,7 @@ const bfd_target aix5coff64_vec =
_bfd_generic_link_split_section, /* _bfd_link_split_section */
bfd_generic_gc_sections, /* _bfd_gc_sections */
bfd_generic_merge_sections, /* _bfd_merge_sections */
+ bfd_generic_discard_group, /* _bfd_discard_group */
/* Dynamic */
/* _get_dynamic_symtab_upper_bound */
Index: bfd/coffcode.h
===================================================================
RCS file: /cvs/src/src/bfd/coffcode.h,v
retrieving revision 1.76
diff -u -p -r1.76 coffcode.h
--- bfd/coffcode.h 15 May 2002 00:18:55 -0000 1.76
+++ bfd/coffcode.h 5 Jun 2002 02:54:14 -0000
@@ -5372,6 +5372,10 @@ static const bfd_coff_backend_data bfd_c
#define coff_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef coff_bfd_discard_group
+#define coff_bfd_discard_group bfd_generic_discard_group
+#endif
+
#define CREATE_BIG_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE) \
const bfd_target VAR = \
{ \
Index: bfd/elf-bfd.h
===================================================================
RCS file: /cvs/src/src/bfd/elf-bfd.h,v
retrieving revision 1.75
diff -u -p -r1.75 elf-bfd.h
--- bfd/elf-bfd.h 4 Jun 2002 01:05:21 -0000 1.75
+++ bfd/elf-bfd.h 5 Jun 2002 02:54:21 -0000
@@ -1261,6 +1261,8 @@ extern boolean _bfd_elf_slurp_version_ta
PARAMS ((bfd *));
extern boolean _bfd_elf_merge_sections
PARAMS ((bfd *, struct bfd_link_info *));
+extern boolean bfd_elf_discard_group
+ PARAMS ((bfd *, struct sec *));
extern void _bfd_elf_link_just_syms
PARAMS ((asection *, struct bfd_link_info *));
extern boolean _bfd_elf_copy_private_symbol_data
Index: bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.142
diff -u -p -r1.142 elf.c
--- bfd/elf.c 4 Jun 2002 01:05:21 -0000 1.142
+++ bfd/elf.c 5 Jun 2002 02:54:26 -0000
@@ -553,7 +553,7 @@ setup_group (abfd, hdr, newsect)
return true;
}
-void
+boolean
bfd_elf_discard_group (abfd, group)
bfd *abfd ATTRIBUTE_UNUSED;
asection *group;
@@ -569,6 +569,7 @@ bfd_elf_discard_group (abfd, group)
if (s == first)
break;
}
+ return true;
}
/* Make a BFD section from an ELF section. We store a pointer to the
Index: bfd/elfxx-target.h
===================================================================
RCS file: /cvs/src/src/bfd/elfxx-target.h,v
retrieving revision 1.43
diff -u -p -r1.43 elfxx-target.h
--- bfd/elfxx-target.h 31 May 2002 02:59:47 -0000 1.43
+++ bfd/elfxx-target.h 5 Jun 2002 02:54:28 -0000
@@ -128,6 +128,10 @@ Foundation, Inc., 59 Temple Place - Suit
_bfd_elf_merge_sections
#endif
+#ifndef bfd_elfNN_bfd_discard_group
+#define bfd_elfNN_bfd_discard_group bfd_elf_discard_group
+#endif
+
#ifndef bfd_elfNN_bfd_make_debug_symbol
#define bfd_elfNN_bfd_make_debug_symbol \
((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
Index: bfd/i386msdos.c
===================================================================
RCS file: /cvs/src/src/bfd/i386msdos.c,v
retrieving revision 1.9
diff -u -p -r1.9 i386msdos.c
--- bfd/i386msdos.c 15 May 2002 00:18:57 -0000 1.9
+++ bfd/i386msdos.c 5 Jun 2002 02:54:28 -0000
@@ -173,6 +173,7 @@ msdos_set_section_contents (abfd, sectio
#define msdos_bfd_relax_section bfd_generic_relax_section
#define msdos_bfd_gc_sections bfd_generic_gc_sections
#define msdos_bfd_merge_sections bfd_generic_merge_sections
+#define msdos_bfd_discard_group bfd_generic_discard_group
#define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define msdos_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define msdos_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/i386os9k.c
===================================================================
RCS file: /cvs/src/src/bfd/i386os9k.c,v
retrieving revision 1.9
diff -u -p -r1.9 i386os9k.c
--- bfd/i386os9k.c 15 May 2002 00:18:57 -0000 1.9
+++ bfd/i386os9k.c 5 Jun 2002 02:54:29 -0000
@@ -329,6 +329,7 @@ os9k_sizeof_headers (ignore_abfd, ignore
#define os9k_bfd_relax_section bfd_generic_relax_section
#define os9k_bfd_gc_sections bfd_generic_gc_sections
#define os9k_bfd_merge_sections bfd_generic_merge_sections
+#define os9k_bfd_discard_group bfd_generic_discard_group
#define os9k_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define os9k_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define os9k_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/ieee.c
===================================================================
RCS file: /cvs/src/src/bfd/ieee.c,v
retrieving revision 1.24
diff -u -p -r1.24 ieee.c
--- bfd/ieee.c 15 May 2002 00:18:57 -0000 1.24
+++ bfd/ieee.c 5 Jun 2002 02:54:31 -0000
@@ -4010,6 +4010,7 @@ ieee_bfd_debug_info_accumulate (abfd, se
#define ieee_bfd_relax_section bfd_generic_relax_section
#define ieee_bfd_gc_sections bfd_generic_gc_sections
#define ieee_bfd_merge_sections bfd_generic_merge_sections
+#define ieee_bfd_discard_group bfd_generic_discard_group
#define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ieee_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define ieee_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/ihex.c
===================================================================
RCS file: /cvs/src/src/bfd/ihex.c,v
retrieving revision 1.15
diff -u -p -r1.15 ihex.c
--- bfd/ihex.c 15 May 2002 00:18:57 -0000 1.15
+++ bfd/ihex.c 5 Jun 2002 02:54:32 -0000
@@ -977,6 +977,7 @@ ihex_sizeof_headers (abfd, exec)
#define ihex_bfd_relax_section bfd_generic_relax_section
#define ihex_bfd_gc_sections bfd_generic_gc_sections
#define ihex_bfd_merge_sections bfd_generic_merge_sections
+#define ihex_bfd_discard_group bfd_generic_discard_group
#define ihex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ihex_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define ihex_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/libbfd-in.h
===================================================================
RCS file: /cvs/src/src/bfd/libbfd-in.h,v
retrieving revision 1.22
diff -u -p -r1.22 libbfd-in.h
--- bfd/libbfd-in.h 15 May 2002 00:18:57 -0000 1.22
+++ bfd/libbfd-in.h 5 Jun 2002 02:54:32 -0000
@@ -322,6 +322,10 @@ extern boolean _bfd_generic_set_section_
((boolean (*) \
PARAMS ((bfd *, struct bfd_link_info *))) \
bfd_false)
+#define _bfd_nolink_bfd_discard_group \
+ ((boolean (*) \
+ PARAMS ((bfd *, struct sec *))) \
+ bfd_false)
#define _bfd_nolink_bfd_link_hash_table_create \
((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
#define _bfd_nolink_bfd_link_hash_table_free \
@@ -588,6 +592,4 @@ extern boolean _bfd_sh_align_load_span
PARAMS ((bfd *, asection *, bfd_byte *,
boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma),
PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, boolean *));
-
-/* And more follows */
Index: bfd/libcoff-in.h
===================================================================
RCS file: /cvs/src/src/bfd/libcoff-in.h,v
retrieving revision 1.15
diff -u -p -r1.15 libcoff-in.h
--- bfd/libcoff-in.h 4 Apr 2002 19:53:37 -0000 1.15
+++ bfd/libcoff-in.h 5 Jun 2002 02:54:33 -0000
@@ -598,5 +598,3 @@ extern boolean ppc_allocate_toc_section
extern boolean ppc_process_before_allocation
PARAMS ((bfd *, struct bfd_link_info *));
-/* And more taken from the source .. */
-
Index: bfd/mmo.c
===================================================================
RCS file: /cvs/src/src/bfd/mmo.c,v
retrieving revision 1.8
diff -u -p -r1.8 mmo.c
--- bfd/mmo.c 15 May 2002 00:18:57 -0000 1.8
+++ bfd/mmo.c 5 Jun 2002 02:54:37 -0000
@@ -3256,6 +3256,7 @@ mmo_canonicalize_reloc (abfd, section, r
#define mmo_set_arch_mach bfd_default_set_arch_mach
#define mmo_bfd_relax_section bfd_generic_relax_section
#define mmo_bfd_merge_sections bfd_generic_merge_sections
+#define mmo_bfd_discard_group bfd_generic_discard_group
/* objcopy will be upset if we return -1 from bfd_get_reloc_upper_bound by
using BFD_JUMP_TABLE_RELOCS (_bfd_norelocs) rather than 0. FIXME: Most
Index: bfd/nlm-target.h
===================================================================
RCS file: /cvs/src/src/bfd/nlm-target.h,v
retrieving revision 1.7
diff -u -p -r1.7 nlm-target.h
--- bfd/nlm-target.h 15 May 2002 00:18:58 -0000 1.7
+++ bfd/nlm-target.h 5 Jun 2002 02:54:37 -0000
@@ -44,6 +44,7 @@ Foundation, Inc., 59 Temple Place - Suit
#define nlm_bfd_relax_section bfd_generic_relax_section
#define nlm_bfd_gc_sections bfd_generic_gc_sections
#define nlm_bfd_merge_sections bfd_generic_merge_sections
+#define nlm_bfd_discard_group bfd_generic_discard_group
#define nlm_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define nlm_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define nlm_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/oasys.c
===================================================================
RCS file: /cvs/src/src/bfd/oasys.c,v
retrieving revision 1.15
diff -u -p -r1.15 oasys.c
--- bfd/oasys.c 15 May 2002 00:18:58 -0000 1.15
+++ bfd/oasys.c 5 Jun 2002 02:54:38 -0000
@@ -1490,6 +1490,7 @@ oasys_sizeof_headers (abfd, exec)
#define oasys_bfd_relax_section bfd_generic_relax_section
#define oasys_bfd_gc_sections bfd_generic_gc_sections
#define oasys_bfd_merge_sections bfd_generic_merge_sections
+#define oasys_bfd_discard_group bfd_generic_discard_group
#define oasys_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define oasys_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define oasys_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/ppcboot.c
===================================================================
RCS file: /cvs/src/src/bfd/ppcboot.c,v
retrieving revision 1.12
diff -u -p -r1.12 ppcboot.c
--- bfd/ppcboot.c 15 May 2002 00:18:58 -0000 1.12
+++ bfd/ppcboot.c 5 Jun 2002 02:54:39 -0000
@@ -469,6 +469,7 @@ ppcboot_bfd_print_private_bfd_data (abfd
#define ppcboot_bfd_relax_section bfd_generic_relax_section
#define ppcboot_bfd_gc_sections bfd_generic_gc_sections
#define ppcboot_bfd_merge_sections bfd_generic_merge_sections
+#define ppcboot_bfd_discard_group bfd_generic_discard_group
#define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ppcboot_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/section.c
===================================================================
RCS file: /cvs/src/src/bfd/section.c,v
retrieving revision 1.46
diff -u -p -r1.46 section.c
--- bfd/section.c 4 Jun 2002 01:05:21 -0000 1.46
+++ bfd/section.c 5 Jun 2002 02:54:39 -0000
@@ -1378,21 +1378,19 @@ _bfd_strip_section_from_output (info, s)
/*
FUNCTION
- bfd_discard_group
+ bfd_generic_discard_group
SYNOPSIS
- void bfd_discard_group (bfd *abfd, asection *group);
+ boolean bfd_generic_discard_group (bfd *abfd, asection *group);
DESCRIPTION
Remove all members of @var{group} from the output.
*/
-void
-bfd_discard_group (abfd, group)
- bfd *abfd;
- asection *group;
+boolean
+bfd_generic_discard_group (abfd, group)
+ bfd *abfd ATTRIBUTE_UNUSED;
+ asection *group ATTRIBUTE_UNUSED;
{
- if ((group->flags & SEC_GROUP) != 0
- && abfd->xvec->flavour == bfd_target_elf_flavour)
- bfd_elf_discard_group (abfd, group);
+ return true;
}
Index: bfd/som.c
===================================================================
RCS file: /cvs/src/src/bfd/som.c,v
retrieving revision 1.30
diff -u -p -r1.30 som.c
--- bfd/som.c 15 May 2002 00:18:58 -0000 1.30
+++ bfd/som.c 5 Jun 2002 02:54:43 -0000
@@ -6340,6 +6340,7 @@ som_bfd_link_split_section (abfd, sec)
#define som_bfd_gc_sections bfd_generic_gc_sections
#define som_bfd_merge_sections bfd_generic_merge_sections
+#define som_bfd_discard_group bfd_generic_discard_group
const bfd_target som_vec = {
"som", /* name */
Index: bfd/srec.c
===================================================================
RCS file: /cvs/src/src/bfd/srec.c,v
retrieving revision 1.18
diff -u -p -r1.18 srec.c
--- bfd/srec.c 15 May 2002 00:18:58 -0000 1.18
+++ bfd/srec.c 5 Jun 2002 02:54:45 -0000
@@ -1270,6 +1270,7 @@ srec_print_symbol (abfd, afile, symbol,
#define srec_bfd_relax_section bfd_generic_relax_section
#define srec_bfd_gc_sections bfd_generic_gc_sections
#define srec_bfd_merge_sections bfd_generic_merge_sections
+#define srec_bfd_discard_group bfd_generic_discard_group
#define srec_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define srec_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define srec_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/targets.c
===================================================================
RCS file: /cvs/src/src/bfd/targets.c,v
retrieving revision 1.64
diff -u -p -r1.64 targets.c
--- bfd/targets.c 4 Jun 2002 02:57:38 -0000 1.64
+++ bfd/targets.c 5 Jun 2002 02:54:46 -0000
@@ -400,7 +400,8 @@ the tokens.
.CONCAT2 (NAME,_bfd_final_link), \
.CONCAT2 (NAME,_bfd_link_split_section), \
.CONCAT2 (NAME,_bfd_gc_sections), \
-.CONCAT2 (NAME,_bfd_merge_sections)
+.CONCAT2 (NAME,_bfd_merge_sections), \
+.CONCAT2 (NAME,_bfd_discard_group)
. int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean));
. bfd_byte *(*_bfd_get_relocated_section_contents)
. PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *,
@@ -434,6 +435,9 @@ the tokens.
.
. {* Attempt to merge SEC_MERGE sections. *}
. boolean (*_bfd_merge_sections) PARAMS ((bfd *, struct bfd_link_info *));
+.
+. {* Discard members of a group. *}
+. boolean (*_bfd_discard_group) PARAMS ((bfd *, struct sec *));
.
. {* Routines to handle dynamic symbols and relocs. *}
.#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
Index: bfd/tekhex.c
===================================================================
RCS file: /cvs/src/src/bfd/tekhex.c,v
retrieving revision 1.10
diff -u -p -r1.10 tekhex.c
--- bfd/tekhex.c 15 May 2002 00:18:58 -0000 1.10
+++ bfd/tekhex.c 5 Jun 2002 02:54:47 -0000
@@ -1005,6 +1005,7 @@ tekhex_print_symbol (abfd, filep, symbol
#define tekhex_bfd_relax_section bfd_generic_relax_section
#define tekhex_bfd_gc_sections bfd_generic_gc_sections
#define tekhex_bfd_merge_sections bfd_generic_merge_sections
+#define tekhex_bfd_discard_group bfd_generic_discard_group
#define tekhex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define tekhex_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define tekhex_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/versados.c
===================================================================
RCS file: /cvs/src/src/bfd/versados.c,v
retrieving revision 1.13
diff -u -p -r1.13 versados.c
--- bfd/versados.c 15 May 2002 00:18:58 -0000 1.13
+++ bfd/versados.c 5 Jun 2002 02:54:47 -0000
@@ -867,6 +867,7 @@ versados_canonicalize_reloc (abfd, secti
#define versados_bfd_relax_section bfd_generic_relax_section
#define versados_bfd_gc_sections bfd_generic_gc_sections
#define versados_bfd_merge_sections bfd_generic_merge_sections
+#define versados_bfd_discard_group bfd_generic_discard_group
#define versados_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define versados_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
#define versados_bfd_link_add_symbols _bfd_generic_link_add_symbols
Index: bfd/vms.c
===================================================================
RCS file: /cvs/src/src/bfd/vms.c,v
retrieving revision 1.18
diff -u -p -r1.18 vms.c
--- bfd/vms.c 15 May 2002 00:18:58 -0000 1.18
+++ bfd/vms.c 5 Jun 2002 02:54:47 -0000
@@ -133,6 +133,7 @@ static boolean vms_bfd_set_private_flags
#define vms_make_empty_symbol _bfd_generic_make_empty_symbol
#define vms_bfd_link_just_syms _bfd_generic_link_just_syms
+#define vms_bfd_discard_group bfd_generic_discard_group
/*===========================================================================*/
Index: bfd/xcoff-target.h
===================================================================
RCS file: /cvs/src/src/bfd/xcoff-target.h,v
retrieving revision 1.6
diff -u -p -r1.6 xcoff-target.h
--- bfd/xcoff-target.h 11 May 2001 12:23:47 -0000 1.6
+++ bfd/xcoff-target.h 5 Jun 2002 02:54:47 -0000
@@ -98,6 +98,7 @@ extern int lynx_core_file_failing_signal
#define _bfd_xcoff_bfd_relax_section coff_bfd_relax_section
#define _bfd_xcoff_bfd_gc_sections coff_bfd_gc_sections
#define _bfd_xcoff_bfd_merge_sections coff_bfd_merge_sections
+#define _bfd_xcoff_bfd_discard_group bfd_generic_discard_group
#define _bfd_xcoff_bfd_link_split_section coff_bfd_link_split_section
/* XCOFF archives do not have anything which corresponds to an
--
Alan Modra
IBM OzLabs - Linux Technology Centre