directive which does not define a "well-known" space and does
not include a space number as an argument.
* config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
"defined", "loadable", "code_only" and "space_index" fields.
(pa_def_spaces): Correct initialization of the "spnum", "defined",
and "private" fields.
* write.h (struct fix): Add new tc_fix_data field for the various
backends to attach machine dependent fixup information to.
* write.c (fix_new_internal): Initialize new tc_fix_data field.
* config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
fx_next fields.
(hppa_find_hppa_fix): Delete unnecessary function. Fix all
callers to get HPPA fixup information from the tc_fix_data field
in the GAS fixup.
(hppa_fix_root): Delete unnecessary variable.
(fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
* config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
function. Fix all callers.
(subspace_dictionary_chain): Delete unused ssd_start_sym field.
* config/tc-hppa.c (hppa_fix_adjustable): New function to determine
if a particular fixup is adjustable.
* config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
perform the real work.
* config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
of OBJ_XXX conditionals.
(MAX_RELOC_EXPANSION): Likewise.
* config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
callers. Now returns log2 (N) for positive N which are an exact
power of two or -1 for an error.
* config/tc-hppa.c (pa_callinfo): Range check values provided for
ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
inserting them into the unwind table.
* config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
(hppa_gen_reloc_type): New object format dependent macro.
(pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
conditional. The code can (and will) be shared between SOM & ELF
formats in the near future.
(cons_fix_new_hppa, md_apply_fix_1): Likewise.
(pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
(tc_gen_reloc): Use hppa_gen_reloc rather than an object format
specific call.
* config/tc-hppa.c (pa_comm): Set the segment for a common symbol
to bfd_und_section.
* config/obj-elf.h (obj_elf_version): Add extern prototype.
* configure.in (hppa-*-bsd*): New configuration.
BFD is always used for GAS generating SOM objects.
* write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
adjustment is rejected by the target machine.
* config/tc-hppa.c (pa_big_cons): Delete function and its
declaration. All callers changed to use pa_cons.
* write.c (fixup_segment): Fix indention and open/close brace
problem.
From Pete Hoogenboom:
* config/tc-hppa.c (md_atof): Return a NULL on success rather than
an empty string.
* config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
perform the real work.
* config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
of OBJ_XXX conditionals.
(MAX_RELOC_EXPANSION): Likewise.
* config/tc-hppa.c (pa_space): Do not report an error for a .space
directive which does not define a "well-known" space and does
not include a space number as an argument.
* config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
"defined", "loadable", "code_only" and "space_index" fields.
(pa_def_spaces): Correct initialization of the "spnum", "defined",
and "private" fields.
* config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
fx_next fields.
(hppa_find_hppa_fix): Delete unnecessary function. Fix all
callers to get HPPA fixup information from the tc_fix_data field
in the GAS fixup.
(hppa_fix_root): Delete unnecessary variable.
(fix_new_hppa): Attach HPPA fixup data to the GAS fixup.
* config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
function. Fix all callers.
(subspace_dictionary_chain): Delete unused ssd_start_sym field.
* config/tc-hppa.c (hppa_fix_adjustable): New function to determine
if a particular fixup is adjustable.
* config/tc-hppa.c (log2): Renamed from is_power_of_2. Fix all
callers. Now returns log2 (N) for positive N which are an exact
power of two or -1 for an error.
* config/tc-hppa.c (pa_callinfo): Range check values provided for
ENTRY_GR, ENTRY_FR and ENTRY_SR. Properly adjust vaues before
inserting them into the unwind table.
* config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
(hppa_gen_reloc_type): New object format dependent macro.
(pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
conditional. The code can (and will) be shared between SOM & ELF
formats in the near future.
(cons_fix_new_hppa, md_apply_fix_1): Likewise.
(pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
(tc_gen_reloc): Use hppa_gen_reloc rather than an object format
specific call.
* config/tc-hppa.c (pa_comm): Set the segment for a common symbol
to bfd_und_section.
* config/tc-hppa.c (pa_big_cons): Delete function and its
declaration. All callers changed to use pa_cons.
From Pete Hoogenboom:
* config/tc-hppa.c (md_atof): Return a NULL on success rather than
an empty string.
the table, require that the one without bit 0x1000000 set come
first. Require further that it be case 'b' or 'P'. The a29k
opcode table already meets these constraints.
(machine_ip): When handling case 'i' or 'A', make sure that the
appropriate opcode really exists by looking at the next entry in
the opcode table.
physical_input_line, logical_input_line): Made static.
(as_where): Return current file name and line number, don't print
them out.
* messages.c (as_show_where): New static function. Other
functions use it instead of as_where.
(as_bad_internal): New static function.
(as_bad): Use as_bad_internal.
(as_bad_where): New function, like as_bad but taking a file name
and line number.
* as.h (as_bad_where): Declare.
(as_where): Change prototype for new arguments.
* write.h (fixS): Added fields fx_file and fx_line.
* write.c (fix_new_internal): Save file and line number in fix.
(fixup_segment): Use as_bad_where, not as_bad.
* input-file.c (f_in, file_name): Made static.
* cond.c (struct file_line): Just use file and line fields.
(s_else): Use as_where and as_bad_where, not get_file_line and
set_file_line.
(get_file_line, set_file_line): Removed.
* listing.c (listing_newline): Use as_where.
* config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
* config/obj-ecoff.c (add_file): Use as_where.
* config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
* config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
* config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
configurations still under development; default is to assume production
environment, and reject configs still being worked on. Mark Elf configurations
(except sparc and i386) as developmental. Deleted cases matching some generic
names in favor of more specific names. (E.g., when we get Alpha
support, we'll still only support VMS for Vax.)
(check): Don't pass ASFLAGS variable.
(site.exp): Put ASFLAGS, OBJDUMP, OBJDUMPFLAGS into site.exp.
From Jeff Law:
lib/gas-defs.exp (objdump_start, objdump_finish): New functions
so that tests can parse the output of objdump looking for errors
in relocation entires, file headers and the like.
m68k_aout_machtype.
* config/tc-m68k.c (omagic): Remove obsolete and unused variable.
(m68k_aout_machtype): New variable, if OBJ_AOUT.
(md_assemble): Initialize m68k_aout_machtype based on
current_architecture, if OBJ_AOUT.
(md_parse_option): Remove obsolete reference to omagic.
* config/tc-i386.c: (md_begin): Do not zero static arrays. Don't
call strchr for each character to see if it is a special char,
instead add a second loop over special_chars. Set alignment
of text, data and bss sections to 4.
(pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
used again.
(reloc): Don't return 8 and 16 bit non-PC relative relocations on
ELF, since the ELF object format does not have these type of
relocations. Change the abort into as as_bad and return
BFD_RELOC_NONE to silence compiler warnings.
(md_assemble): Keep track of the instruction size. Allow white
space between the $ and the constant for compatibility with older
gases and other assemblers.
(i386_operand): Skip spaces between $ and expression.
(tc_gen_reloc): Don't allow anything but 32 bit relocations on
ELF. Convert abort into an as_bad and assert into as_fatal.
(mips_regmask_frag): New static variable, if OBJ_ELF.
(md_begin): If OBJ_ELF, create .reginfo section and set
mips_regmask_frag to a frag.
(mips_elf_final_processing): New function, if OBJ_ELF. Set
mips_regmask_frag to register mask information.
* config/tc-mips.h (elf_tc_final_processing): New macro, defined
if OBJ_ELF.