From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1888 invoked by alias); 5 Jun 2002 03:08:57 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 1813 invoked from network); 5 Jun 2002 03:08:28 -0000 Received: from unknown (HELO mta03bw.bigpond.com) (139.134.6.86) by sources.redhat.com with SMTP; 5 Jun 2002 03:08:28 -0000 Received: from bubble.local ([144.135.24.69]) by mta03bw.bigpond.com (Netscape Messaging Server 4.15 mta03bw Apr 29 2002 13:22:02) with SMTP id GX7Q1W00.8AS for ; Wed, 5 Jun 2002 13:08:20 +1000 Received: from CPE-144-136-176-14.sa.bigpond.net.au ([144.136.176.14]) by bwmam01.mailsvc.email.bigpond.com(MailRouter V3.0m 8/96554); 05 Jun 2002 13:08:20 Received: (qmail 27277 invoked by uid 179); 5 Jun 2002 03:08:19 -0000 Date: Tue, 04 Jun 2002 20:08:00 -0000 From: Alan Modra To: Joel Brobecker Cc: gdb-patches@sources.redhat.com, binutils@sources.redhat.com Subject: Re: alpha-osf: Undefined reference in libbfd.a causes GDB build failure Message-ID: <20020605030819.GY464@bubble.sa.bigpond.net.au> Mail-Followup-To: Joel Brobecker , gdb-patches@sources.redhat.com, binutils@sources.redhat.com References: <20020604103337.A5940@gnat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020604103337.A5940@gnat.com> User-Agent: Mutt/1.3.25i X-SW-Source: 2002-06/txt/msg00068.txt.bz2 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