diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0146f684a2..b1c51c57bd 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,8 +1,14 @@ Sat Nov 28 04:01:21 1992 John Gilmore (gnu@cygnus.com) - * libbfd-in.h, bfd-in.h: Eliminate all PROTO calls, replace with + * aout-target.h, aoutf1.h, trad-core.c, coffcode.h, libaout.h, + libbfd-in.h, bfd-in.h: Eliminate all PROTO calls, replace with PARAMS for readability. + * aoutx.h: Add type to callback parameter. + * coff-mips.c: Don't call trad-core.h, not needed. + * trad-core.c: Incorporate trad-core.h declarations. Fix comments. + * trad-core.h: Eliminate, unused. + Wed Nov 18 13:16:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) * format.c (bfd_check_format): if default target isn't found diff --git a/bfd/aout-target.h b/bfd/aout-target.h index 9b8273a7c9..8cf7429b57 100644 --- a/bfd/aout-target.h +++ b/bfd/aout-target.h @@ -194,6 +194,7 @@ static CONST struct aout_backend_data MY(backend_data) = { 0, /* text incl header */ 0, /* text vma? */ MY_set_sizes, + 0, /* exec header is counted */ }; #define MY_backend_data &MY(backend_data) #endif @@ -240,7 +241,8 @@ static CONST struct aout_backend_data MY(backend_data) = { #define MY_bfd_debug_info_end bfd_void #endif #ifndef MY_bfd_debug_info_accumulate -#define MY_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void +#define MY_bfd_debug_info_accumulate \ + (void (*) PARAMS ((bfd*, struct sec *))) bfd_void #endif #ifndef MY_core_file_failing_command diff --git a/bfd/aoutx.h b/bfd/aoutx.h index a874757a9a..909c5b281d 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1,5 +1,5 @@ -/* BFD semi-generic back-end for a.out binaries - Copyright (C) 1990-1991 Free Software Foundation, Inc. +/* BFD semi-generic back-end for a.out binaries. + Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -339,7 +339,7 @@ bfd_target * DEFUN(NAME(aout,some_aout_object_p),(abfd, execp, callback_to_real_object_p), bfd *abfd AND struct internal_exec *execp AND - bfd_target *(*callback_to_real_object_p) ()) + bfd_target *(*callback_to_real_object_p) (bfd *)) { struct aout_data_struct *rawptr, *oldrawptr; bfd_target *result; @@ -484,9 +484,11 @@ DEFUN(NAME(aout,some_aout_object_p),(abfd, execp, callback_to_real_object_p), abfd->flags |= EXEC_P; if (result) { +#if 0 /* These should be set correctly anyways. */ abfd->sections = obj_textsec (abfd); obj_textsec (abfd)->next = obj_datasec (abfd); obj_datasec (abfd)->next = obj_bsssec (abfd); +#endif } else { diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index e6fadb2800..ee63e0729b 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -1,5 +1,5 @@ -/* MIPS Extended-Coff back-end for BFD. - Copyright (C) 1990-1991 Free Software Foundation, Inc. +/* BFD back-end for MIPS Extended-Coff files. + Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written by Per Bothner. This file is part of BFD, the Binary File Descriptor library. @@ -24,7 +24,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "coff/mips.h" #include "coff/internal.h" #include "libcoff.h" /* to allow easier abstraction-breaking */ -#include "trad-core.h" #define BADMAG(x) ECOFFBADMAG(x) diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 29b83ff4bd..3e11a86aaf 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -672,7 +672,7 @@ DEFUN(coff_swap_aux_in,(abfd, ext1, type, class, in1), in->x_sym.x_fcnary.x_ary.x_dimen[3] = bfd_h_get_16(abfd, (bfd_byte *) ext->x_sym.x_fcnary.x_ary.x_dimen[3]); #endif } - if (class == C_BLOCK || ISFCN(type) || ISTAG(type)) { + if (class == C_BLOCK || ISFCN(type) || ISTAG(class)) { in->x_sym.x_fcnary.x_fcn.x_lnnoptr = GET_FCN_LNNOPTR(abfd, ext); in->x_sym.x_fcnary.x_fcn.x_endndx.l = GET_FCN_ENDNDX(abfd, ext); } @@ -749,7 +749,7 @@ DEFUN(coff_swap_aux_out,(abfd, inp, type, class, extp), bfd_h_put_16(abfd, in->x_sym.x_tvndx , (bfd_byte *) ext->x_sym.x_tvndx); #endif - if (class == C_BLOCK || ISFCN(type) || ISTAG(type)) { + if (class == C_BLOCK || ISFCN(type) || ISTAG(class)) { PUT_FCN_LNNOPTR(abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr, ext); PUT_FCN_ENDNDX(abfd, in->x_sym.x_fcnary.x_fcn.x_endndx.l, ext); } @@ -3876,7 +3876,7 @@ DEFUN(get_value,(reloc, seclet), /* Add the value contained in the relocation */ - value += (short)((reloc->addend) & 0xffff); + value += reloc->addend; return value; } @@ -4234,9 +4234,9 @@ DEFUN(bfd_coff_get_relocated_section_contents,(in_abfd, seclet, data), #define coff_get_section_contents bfd_generic_get_section_contents #define coff_close_and_cleanup bfd_generic_close_and_cleanup -#define coff_bfd_debug_info_start bfd_void +#define coff_bfd_debug_info_start bfd_void #define coff_bfd_debug_info_end bfd_void -#define coff_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void +#define coff_bfd_debug_info_accumulate \ + (void (*) PARAMS ((bfd *, struct sec *))) bfd_void #define coff_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents -#define coff_bfd_relax_section bfd_generic_relax_section - +#define coff_bfd_relax_section bfd_generic_relax_section diff --git a/bfd/libaout.h b/bfd/libaout.h index 52b47ed299..283891640e 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -1,5 +1,5 @@ /* BFD back-end data structures for a.out (and similar) files. - Copyright (C) 1990-1991 Free Software Foundation, Inc. + Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -216,51 +216,98 @@ struct aout_data_struct { /* Prototype declarations for functions defined in aoutx.h */ -PROTO (boolean, NAME(aout,squirt_out_relocs),(bfd *abfd, asection *section)); +boolean +NAME(aout,squirt_out_relocs) PARAMS ((bfd *abfd, asection *section)); -PROTO (bfd_target *, NAME(aout,some_aout_object_p), (bfd *abfd, - struct internal_exec *execp, - bfd_target *(*callback)())); -PROTO (boolean, NAME(aout,mkobject), (bfd *abfd)); -PROTO (enum machine_type, NAME(aout,machine_type), (enum bfd_architecture arch, - unsigned long machine)); -PROTO (boolean, NAME(aout,set_arch_mach), (bfd *abfd, enum bfd_architecture arch, - unsigned long machine)); +bfd_target * +NAME(aout,some_aout_object_p) PARAMS ((bfd *abfd, + struct internal_exec *execp, + bfd_target * (*callback)(bfd *))); -PROTO (boolean, NAME(aout,new_section_hook), (bfd *abfd, asection *newsect)); -PROTO (boolean, NAME(aout,set_section_contents), (bfd *abfd, sec_ptr section, +boolean +NAME(aout,mkobject) PARAMS ((bfd *abfd)); + +enum machine_type +NAME(aout,machine_type) PARAMS ((enum bfd_architecture arch, + unsigned long machine)); + +boolean +NAME(aout,set_arch_mach) PARAMS ((bfd *abfd, enum bfd_architecture arch, + unsigned long machine)); + +boolean +NAME(aout,new_section_hook) PARAMS ((bfd *abfd, asection *newsect)); + +boolean +NAME(aout,set_section_contents) PARAMS ((bfd *abfd, sec_ptr section, PTR location, file_ptr offset, bfd_size_type count)); -PROTO (asymbol *,NAME(aout,make_empty_symbol), (bfd *abfd)); -PROTO (boolean, NAME(aout,slurp_symbol_table), (bfd *abfd)); -PROTO (void, NAME(aout,write_syms), (bfd *abfd)); -PROTO (void, NAME(aout,reclaim_symbol_table), (bfd *abfd)); -PROTO (unsigned int, NAME(aout,get_symtab_upper_bound), (bfd *abfd)); -PROTO (unsigned int, NAME(aout,get_symtab), (bfd *abfd, asymbol **location)); -PROTO (boolean, NAME(aout,slurp_reloc_table), (bfd *abfd, sec_ptr asect, - asymbol **symbols)); -PROTO (unsigned int, NAME(aout,canonicalize_reloc), (bfd *abfd, sec_ptr section, - arelent **relptr, asymbol **symbols)); -PROTO (unsigned int, NAME(aout,get_reloc_upper_bound), (bfd *abfd, sec_ptr asect)); -PROTO (void, NAME(aout,reclaim_reloc), (bfd *ignore_abfd, sec_ptr ignore)); -PROTO (alent *, NAME(aout,get_lineno), (bfd *ignore_abfd, asymbol *ignore_symbol)); -PROTO (void, NAME(aout,print_symbol), (bfd *ignore_abfd, PTR file, +asymbol * +NAME(aout,make_empty_symbol) PARAMS ((bfd *abfd)); + +boolean +NAME(aout,slurp_symbol_table) PARAMS ((bfd *abfd)); + +void +NAME(aout,write_syms) PARAMS ((bfd *abfd)); + +void +NAME(aout,reclaim_symbol_table) PARAMS ((bfd *abfd)); + +unsigned int +NAME(aout,get_symtab_upper_bound) PARAMS ((bfd *abfd)); + +unsigned int +NAME(aout,get_symtab) PARAMS ((bfd *abfd, asymbol **location)); + +boolean +NAME(aout,slurp_reloc_table) PARAMS ((bfd *abfd, sec_ptr asect, + asymbol **symbols)); + +unsigned int +NAME(aout,canonicalize_reloc) PARAMS ((bfd *abfd, sec_ptr section, + arelent **relptr, asymbol **symbols)); + +unsigned int +NAME(aout,get_reloc_upper_bound) PARAMS ((bfd *abfd, sec_ptr asect)); + +void +NAME(aout,reclaim_reloc) PARAMS ((bfd *ignore_abfd, sec_ptr ignore)); + +alent * +NAME(aout,get_lineno) PARAMS ((bfd *ignore_abfd, asymbol *ignore_symbol)); + +void +NAME(aout,print_symbol) PARAMS ((bfd *ignore_abfd, PTR file, asymbol *symbol, bfd_print_symbol_type how)); -PROTO (boolean, NAME(aout,close_and_cleanup), (bfd *abfd)); -PROTO (boolean, NAME(aout,find_nearest_line), (bfd *abfd, asection *section, + +boolean +NAME(aout,close_and_cleanup) PARAMS ((bfd *abfd)); + +boolean +NAME(aout,find_nearest_line) PARAMS ((bfd *abfd, asection *section, asymbol **symbols, bfd_vma offset, CONST char **filename_ptr, CONST char **functionname_ptr, unsigned int *line_ptr)); -PROTO (int, NAME(aout,sizeof_headers), (bfd *abfd, boolean exec)); -PROTO (void, NAME(aout,swap_exec_header_in), (bfd *abfd, - struct external_exec *raw_bytes, struct internal_exec *execp)); +int +NAME(aout,sizeof_headers) PARAMS ((bfd *abfd, boolean exec)); -PROTO (void, NAME(aout,swap_exec_header_out),(bfd *abfd, struct internal_exec *execp, - struct external_exec *raw_bytes)); +boolean +NAME(aout,adjust_sizes_and_vmas) PARAMS ((bfd *abfd, + bfd_size_type *text_size, file_ptr *text_end)); + +void +NAME(aout,swap_exec_header_in) PARAMS ((bfd *abfd, + struct external_exec *raw_bytes, struct internal_exec *execp)); + +void +NAME(aout,swap_exec_header_out) PARAMS ((bfd *abfd, + struct internal_exec *execp, struct external_exec *raw_bytes)); /* Prototypes for functions in stab-syms.c. */ -PROTO(char *, aout_stab_name, (int code)); +char * +aout_stab_name PARAMS ((int code)); /* A.out uses the generic versions of these routines... */ diff --git a/bfd/trad-core.c b/bfd/trad-core.c index cd64383f07..990be3534e 100644 --- a/bfd/trad-core.c +++ b/bfd/trad-core.c @@ -1,5 +1,5 @@ /* BFD back end for traditional Unix core files (U-area and raw sections) - Copyright (C) 1988, 1989, 1991 Free Software Foundation, Inc. + Copyright 1988, 1989, 1991, 1992 Free Software Foundation, Inc. Written by John Gilmore of Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -36,26 +36,32 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include -#include #include /* After a.out.h */ #include #include -/* These are stored in the bfd's tdata */ -struct core_data { - struct user *upage; /* core file header */ - asection *data_section; - asection *stack_section; - asection *reg_section; -}; + struct trad_core_struct + { + asection *data_section; + asection *stack_section; + asection *reg_section; + struct user u; + } *rawptr; -#define core_hdr(bfd) (((struct core_data *) (bfd->tdata))->hdr) -#define core_upage(bfd) (((struct core_data *) ((bfd)->tdata))->upage) -#define core_datasec(bfd) (((struct core_data *) ((bfd)->tdata))->data_section) -#define core_stacksec(bfd) (((struct core_data*)((bfd)->tdata))->stack_section) -#define core_regsec(bfd) (((struct core_data *) ((bfd)->tdata))->reg_section) +#define core_upage(bfd) (&((bfd)->tdata.trad_core_data->u)) +#define core_datasec(bfd) ((bfd)->tdata.trad_core_data->data_section) +#define core_stacksec(bfd) ((bfd)->tdata.trad_core_data->stack_section) +#define core_regsec(bfd) ((bfd)->tdata.trad_core_data->reg_section) + +/* forward declarations */ + +bfd_target * trad_unix_core_file_p PARAMS ((bfd *abfd)); +char * trad_unix_core_file_failing_command PARAMS ((bfd *abfd)); +int trad_unix_core_file_failing_signal PARAMS ((bfd *abfd)); +boolean trad_unix_core_file_matches_executable_p + PARAMS ((bfd *core_bfd, bfd *exec_bfd)); /* Handle 4.2-style (and perhaps also sysV-style) core dump file. */ @@ -63,16 +69,10 @@ struct core_data { bfd_target * trad_unix_core_file_p (abfd) bfd *abfd; + { int val; struct user u; - unsigned int reg_offset, fp_reg_offset; - /* This struct is just for allocating two things with one zalloc, so - they will be freed together, without violating alignment constraints. */ - struct core_user { - struct core_data coredata; - struct user u; - } *rawptr; val = bfd_read ((void *)&u, 1, sizeof u, abfd); if (val != sizeof u) @@ -89,34 +89,35 @@ trad_unix_core_file_p (abfd) /* Allocate both the upage and the struct core_data at once, so a single free() will free them both. */ - rawptr = (struct core_user *)bfd_zalloc (abfd, sizeof (struct core_user)); + rawptr = (struct trad_core_struct *) + bfd_zalloc (abfd, sizeof (struct trad_core_struct)); if (rawptr == NULL) { bfd_error = no_memory; return 0; } - set_tdata (abfd, &rawptr->coredata); - core_upage (abfd) = &rawptr->u; - *core_upage (abfd) = u; /* Save that upage! */ + abfd->tdata.trad_core_data = rawptr; + + rawptr->u = u; /*Copy the uarea into the tdata part of the bfd */ /* Create the sections. This is raunchy, but bfd_close wants to free them separately. */ - core_stacksec (abfd) = (asection *) zalloc (sizeof (asection)); + + core_stacksec(abfd) = (asection *) zalloc (sizeof (asection)); if (core_stacksec (abfd) == NULL) { -loser: + loser: bfd_error = no_memory; free ((void *)rawptr); return 0; } core_datasec (abfd) = (asection *) zalloc (sizeof (asection)); if (core_datasec (abfd) == NULL) { -loser1: + loser1: free ((void *)core_stacksec (abfd)); goto loser; } core_regsec (abfd) = (asection *) zalloc (sizeof (asection)); if (core_regsec (abfd) == NULL) { -loser2: free ((void *)core_datasec (abfd)); goto loser1; } @@ -129,9 +130,9 @@ loser2: core_datasec (abfd)->flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS; core_regsec (abfd)->flags = SEC_ALLOC + SEC_HAS_CONTENTS; - core_datasec (abfd)->size = NBPG * u.u_dsize; - core_stacksec (abfd)->size = NBPG * u.u_ssize; - core_regsec (abfd)->size = NBPG * UPAGES; /* Larger than sizeof struct u */ + core_datasec (abfd)->_raw_size = NBPG * u.u_dsize; + core_stacksec (abfd)->_raw_size = NBPG * u.u_ssize; + core_regsec (abfd)->_raw_size = NBPG * UPAGES; /* Larger than sizeof struct u */ /* What a hack... we'd like to steal it from the exec file, since the upage does not seem to provide it. FIXME. */ @@ -148,7 +149,7 @@ loser2: from *u_ar0. The other is that u_ar0 is sometimes an absolute address in kernel memory, and on other systems it is an offset from the beginning of the `struct user'. - + As a practical matter, we don't know where the registers actually are, so we have to pass the whole area to GDB. We encode the value of u_ar0 by setting the .regs section up so that its virtual memory address @@ -159,7 +160,7 @@ loser2: core_datasec (abfd)->filepos = NBPG * UPAGES; core_stacksec (abfd)->filepos = (NBPG * UPAGES) + NBPG * u.u_dsize; - core_regsec (abfd)->filepos = 0; /* Register segment is the upage */ + core_regsec (abfd)->filepos = 0; /* Register segment is the upage */ /* Align to word at least */ core_stacksec (abfd)->alignment_power = 2; @@ -178,9 +179,12 @@ char * trad_unix_core_file_failing_command (abfd) bfd *abfd; { - if (*core_upage (abfd)->u_comm) - return core_upage (abfd)->u_comm; +#ifndef NO_CORE_COMMAND + char *com = abfd->tdata.trad_core_data->u.u_comm; + if (*com) + return com; else +#endif return 0; } @@ -205,55 +209,56 @@ trad_unix_core_file_matches_executable_p (core_bfd, exec_bfd) #define trad_unix_generic_stat_arch_elt bfd_generic_stat_arch_elt #define trad_unix_slurp_armap bfd_false #define trad_unix_slurp_extended_name_table bfd_true -#define trad_unix_write_armap (PROTO (boolean, (*), \ - (bfd *arch, unsigned int elength, struct orl *map, int orl_count, \ - int stridx))) bfd_false +#define trad_unix_write_armap (boolean (*) PARAMS \ + ((bfd *arch, unsigned int elength, struct orl *map, \ + unsigned int orl_count, int stridx))) bfd_false #define trad_unix_truncate_arname bfd_dont_truncate_arname #define aout_32_openr_next_archived_file bfd_generic_openr_next_archived_file #define trad_unix_close_and_cleanup bfd_generic_close_and_cleanup -#define trad_unix_set_section_contents (PROTO(boolean, (*), \ - (bfd *abfd, asection *section, PTR data, file_ptr offset, \ - bfd_size_type count))) bfd_false +#define trad_unix_set_section_contents (boolean (*) PARAMS \ + ((bfd *abfd, asection *section, PTR data, file_ptr offset, \ + bfd_size_type count))) bfd_false #define trad_unix_get_section_contents bfd_generic_get_section_contents -#define trad_unix_new_section_hook (PROTO (boolean, (*), \ - (bfd *, sec_ptr))) bfd_true +#define trad_unix_new_section_hook (boolean (*) PARAMS \ + ((bfd *, sec_ptr))) bfd_true #define trad_unix_get_symtab_upper_bound bfd_0u -#define trad_unix_get_symtab (PROTO (unsigned int, (*), \ - (bfd *, struct symbol_cache_entry **))) bfd_0u -#define trad_unix_get_reloc_upper_bound (PROTO (unsigned int, (*), \ - (bfd *, sec_ptr))) bfd_0u -#define trad_unix_canonicalize_reloc (PROTO (unsigned int, (*), \ - (bfd *, sec_ptr, arelent **, struct symbol_cache_entry**))) bfd_0u -#define trad_unix_make_empty_symbol (PROTO ( \ - struct symbol_cache_entry *, (*), (bfd *))) bfd_false -#define trad_unix_print_symbol (PROTO (void, (*), \ - (bfd *, PTR, struct symbol_cache_entry *, \ - bfd_print_symbol_type))) bfd_false -#define trad_unix_get_lineno (PROTO (alent *, (*), \ - (bfd *, struct symbol_cache_entry *))) bfd_nullvoidptr -#define trad_unix_set_arch_mach (PROTO (boolean, (*), \ +#define trad_unix_get_symtab (unsigned int (*) PARAMS \ + ((bfd *, struct symbol_cache_entry **))) bfd_0u +#define trad_unix_get_reloc_upper_bound (unsigned int (*) PARAMS \ + ((bfd *, sec_ptr))) bfd_0u +#define trad_unix_canonicalize_reloc (unsigned int (*) PARAMS \ + ((bfd *, sec_ptr, arelent **, struct symbol_cache_entry**))) bfd_0u +#define trad_unix_make_empty_symbol (struct symbol_cache_entry * \ + (*) ((bfd *))) bfd_false +#define trad_unix_print_symbol (void (*) PARAMS \ + ((bfd *, PTR, struct symbol_cache_entry *, \ + bfd_print_symbol_type))) bfd_false +#define trad_unix_get_lineno (alent * (*) PARAMS \ + ((bfd *, struct symbol_cache_entry *))) bfd_nullvoidptr +#define trad_unix_set_arch_mach (boolean (*) PARAMS \ (bfd *, enum bfd_architecture, unsigned long))) bfd_false -#define trad_unix_find_nearest_line (PROTO (boolean, (*), \ +#define trad_unix_find_nearest_line (boolean (*) PARAMS \ (bfd *abfd, struct sec *section, \ struct symbol_cache_entry **symbols,bfd_vma offset, \ CONST char **file, CONST char **func, unsigned int *line))) bfd_false -#define trad_unix_sizeof_headers (PROTO (int, (*), \ +#define trad_unix_sizeof_headers (int (*) PARAMS \ (bfd *, boolean))) bfd_0 #define trad_unix_bfd_debug_info_start bfd_void #define trad_unix_bfd_debug_info_end bfd_void -#define trad_unix_bfd_debug_info_accumulate (PROTO (void, (*), \ +#define trad_unix_bfd_debug_info_accumulate (void (*) PARAMS \ (bfd *, struct sec *))) bfd_void - +#define trad_unix_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents +#define trad_unix_bfd_relax_section bfd_generic_relax_section /* If somebody calls any byte-swapping routines, shoot them. */ void swap_abort() { abort(); /* This way doesn't require any declaration for ANSI to fuck up */ } -#define NO_GET ((PROTO(bfd_vma, (*), ( bfd_byte *))) swap_abort ) -#define NO_PUT ((PROTO(void, (*), (bfd_vma, bfd_byte *))) swap_abort ) +#define NO_GET ((bfd_vma (*) PARAMS (( bfd_byte *))) swap_abort ) +#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort ) bfd_target trad_core_vec = { @@ -265,6 +270,7 @@ bfd_target trad_core_vec = HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ + '_', /* symbol prefix */ ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ 3, /* minimum alignment power */