* libcoff-in.h (struct coff_final_link_info): Add last_bf_index

and last_bf fields.
	* libcoff.h: Rebuild.
	* coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
	symbols.
	(coff_swap_aux_out): Likewise.
	* peicode.h (coff_swap_aux_in): Likewise.
	(coff_swap_aux_out): Likewise.
	* coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
	symbols.
	* cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
	field.
	(_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
	Fix up .bf endndx link fields.
	* coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
	field.
	* xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
	symbols.
PR 9467.
This commit is contained in:
Ian Lance Taylor
1996-04-18 22:55:54 +00:00
parent 9590fa867b
commit d6e0e2f786
7 changed files with 120 additions and 6 deletions

View File

@@ -1,7 +1,10 @@
/* BFD COFF object file private structure.
Copyright (C) 1990, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
Written by Cygnus Support.
** NOTE: libcoff.h is a GENERATED file. Don't change it; instead,
** change libcoff-in.h or coffcode.h.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
@@ -405,6 +408,11 @@ struct coff_final_link_info
long last_file_index;
/* Contents of last C_FILE symbol. */
struct internal_syment last_file;
/* Symbol index of first aux entry of last .bf symbol with an empty
endndx field (-1 if none). */
long last_bf_index;
/* Contents of last_bf_index aux entry. */
union internal_auxent last_bf;
/* Hash table used to merge debug information. */
struct coff_debug_merge_hash_table debug_merge;
/* Buffer large enough to hold swapped symbols of any input file. */