d89861c7c4
stricter than 4 bytes is requested; in that case, align to a 4-byte boundary first.
12621 lines
482 KiB
Text
12621 lines
482 KiB
Text
Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
|
|
if alignment stricter than 4 bytes is requested; in that case,
|
|
align to a 4-byte boundary first.
|
|
|
|
Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com>
|
|
|
|
* config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
|
|
qualifiers and detect errors if present.
|
|
(md_assemble): Add call to parse_toc_entry. Also added some support
|
|
for the [tocv] qualifier.
|
|
(ppc_pe_tocd): New function to support data in the toc section.
|
|
|
|
Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
|
|
an absolute symbol.
|
|
|
|
Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (isbyte): Accept all values from -65536 to
|
|
+65535, so ~VAL will not be rejected.
|
|
|
|
* cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
|
|
skip characters after the pseudo-op.
|
|
(s_else): Likewise.
|
|
* read.c (get_line_sb): Don't look past buffer_limit.
|
|
(s_include): In MRI mode, skip characters after the file name.
|
|
|
|
Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
|
|
periods in register names.
|
|
|
|
Sat Sep 30 23:03:31 1995 Jeff Law (law@hurl.cygnus.com)
|
|
|
|
* config/tc-hppa.c (hppa_fix_adjustable): DP relative relocs
|
|
are not adjustable in SOM to avoid confusing the optimizing
|
|
linker.
|
|
|
|
Fri Sep 29 15:18:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
Add some support for i960 MRI compatibility mode.
|
|
* config/tc-i960.c (md_pseudo_table): Add endian.
|
|
(get_args): Don't discard a space between alphanumeric characters.
|
|
(get_cdisp): Change text_section to now_seg.
|
|
(s_endian): New static function.
|
|
* config/tc-i960.h (MRI_MODE_NEEDS_PSEUDO_DOT): Define.
|
|
* expr.h (operatorT): Add O_logical_not, O_logical_and, and
|
|
O_logical_or.
|
|
* expr.c (operand): Treat '!' as logical not operator. If
|
|
TC_I960, in MRI mode permit `sizeof secname' and `startof
|
|
secname'.
|
|
(op_rank): Bump values by 2 to make room for && and ||. Add
|
|
entries for !, &&, and ||.
|
|
(expr_begin): Only do MRI changes if TC_M68K.
|
|
(operator): Recognize || and &&.
|
|
(expr): Handle new operatorT values.
|
|
* symbols.c (resolve_symbol_value): Handle new operatorT values.
|
|
(print_expr_1): Likewise.
|
|
* read.c (potable): Add debug, err, irep, irepc, print, purgem,
|
|
and rep.
|
|
(read_a_source_file): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
|
|
(mri_comment_field): Only handle weird comments if TC_M68K.
|
|
(s_err): New function.
|
|
(s_org): Only punt in MRI mode if TC_M68K.
|
|
(s_mri_sect): Write TC_I960 version.
|
|
(s_print, s_purgem): New functions.
|
|
* read.h (s_err, s_print, s_purgem): Declare.
|
|
* cond.c (s_ifeqs): Implement.
|
|
(ignore_input): Handle MRI_MODE_NEEDS_PSEUDO_DOT.
|
|
* macro.c (macro_strip_at): New static variable.
|
|
(macro_init): Add strip_at parameter.
|
|
(do_formals): If macro_strip_at, change NARG to $NARG.
|
|
(define_macro): Skip a comma after the macro name.
|
|
(get_apost_token): Skip character if macro_strip_at, even if
|
|
macro_mri.
|
|
(macro_expand_body): If macro_strip_at, don't recognize parameters
|
|
in strings unless they are preceded by an '@'. If macro_strip_at,
|
|
pass '@' as strip character to sub_actual. If macro_strip_at,
|
|
strip '@' characters.
|
|
(macro_expand): If macro_strip_at, change NARG to $NARG.
|
|
(delete_macro): New function.
|
|
(expand_irp): Skip leading and trailing '"' characters if irpc.
|
|
* macro.h (macro_init): Mention new strip_at parameter.
|
|
(delete_macro): Declare.
|
|
* as.c (main): If TC_I960, pass flag_mri to macro_init as
|
|
strip_at; otherwise, pass 0.
|
|
* gasp.c (process_pseudo_op): Pass 0 to macro_init as strip_at.
|
|
(main): Likewise.
|
|
* doc/as.texinfo: Document i960 MRI mode.
|
|
|
|
* as.c (show_usage): Mention --defsym.
|
|
|
|
Thu Sep 28 19:25:04 1995 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* mpw-config.in: Translate "powerpc" into "ppc", remove gen of
|
|
VERSION, move gen of "conf" here from makefile.
|
|
* mpw-make.sed: New file, sed commands to translate Unix makefile
|
|
into MPW syntax.
|
|
* mpw-make.in: Remove.
|
|
* mac-as.r: New file, Mac resource file.
|
|
* as.h (inline): Don't decide about defining if __MWERKS__,
|
|
remove redundant conditional and definition.
|
|
|
|
* stabs.c (s_stab_generic): Fix syntax for OBJ_PROCESS_STAB.
|
|
|
|
Thu Sep 28 15:43:15 1995 Kim Knuttila <krk@nellie>
|
|
|
|
* config/tc-ppc.c (md_apply_fix3): Removed some TE_PE specific
|
|
manipulations, since I can't prove they're needed.
|
|
(md_begin): Removed init_regtable, insert_reg, and the call points.
|
|
(register_name): New function. Parses a register name, if appropriate.
|
|
(md_assemble): Added call to register_name to handle symbolic names.
|
|
(ppc_pe_section): Removed all duplicate IMAGE defines, and include
|
|
coff/pe.h instead.
|
|
|
|
Thu Sep 28 12:09:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-ppc.h (tc_fix_adjustable): Define.
|
|
(ppc_pe_fix_adjustable): Declare.
|
|
* config/tc-ppc.c (ppc_pe_fix_adjustable): New function.
|
|
|
|
Thu Sep 28 01:11:58 1995 Doug Evans <dje@deneb.cygnus.com>
|
|
|
|
* config/tc-arm.h (TARGET_FORMAT): Define for arm-coff.
|
|
|
|
Wed Sep 27 12:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* symbols.c (S_IS_LOCAL): All symbols in reg_section are local.
|
|
|
|
* config/tc-ppc.h (OBJ_XCOFF): Define if OBJ_COFF and not TE_PE.
|
|
Change OBJ_COFF checks to check OBJ_XCOFF instead.
|
|
(TARGET_FORMAT): Fully parenthesize.
|
|
(LEX_QM): Define if TE_PE.
|
|
* config/tc-ppc.c: Replace OBJ_COFF by OBJ_XCOFF throughout.
|
|
Remove checks of TE_PE within #ifdef OBJ_XCOFF sections.
|
|
(init_regtable): Make i unsigned.
|
|
(ppc_set_current_section): Rename from setCurrentSection. Change
|
|
all callers.
|
|
(ppc_arch): Return after as_fatal to avoid gcc warning.
|
|
(md_assemble): Only declare reloc if OBJ_ELF. Add default to
|
|
switch on fixups[i].reloc to avoid gcc warning.
|
|
(IMAGE_SGN_LNK_OTHER): Fix nested comment.
|
|
(ppc_pe_function): Don't call ppc_canonicalize_symbol_name.
|
|
(ppc_frob_symbol): Remove TE_PE section checks.
|
|
(md_estimate_size_before_relax): Return after abort to avoid gcc
|
|
warning.
|
|
(md_apply_fix3): Add BFD_RELOC_16_GOT_PCREL to switch.
|
|
* read.c (LEX_QM): Define as 0 if not defined.
|
|
(lex_type): Use LEX_QM for '?'.
|
|
|
|
* configure.in: No need to check whether ${cpu_type} is powerpc;
|
|
it never will be.
|
|
* configure: Rebuild.
|
|
|
|
Wed Sep 27 11:33:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_apply_fix3): Remove Sep 26 changes to this
|
|
function, keeping other Sep. 26 changes.
|
|
|
|
Wed Sep 27 10:29:13 1995 Kim Knuttila <krk@nellie>
|
|
|
|
* configure (emulations): Added support for ppcle-*-[pe|winnt]
|
|
(target_frag): Removed an extraneous PPC definition.
|
|
* configure.in (emulations): Same
|
|
* config/tc-ppc.h:
|
|
* config/tc-ppc.c (md_pseudo_table): Base support for new or altered
|
|
pseudo ops - <previous, pdata, ydata, reldata, rdata, ualong, znop,
|
|
section, comm, function> There will be more.
|
|
(pre_defined_registers): Predefined reg table to name registers, etc
|
|
(md_begin): Setup reg table initialization
|
|
(md_assemble): Initial [toc]x(rtoc) support
|
|
(ppc_frob_label): Removed some xcoff specific processing from TE_PE
|
|
(ppc_frob_symbol): Removed some xcoff specific processing from TE_PE
|
|
Added support for more predefined sections
|
|
(ppc_frob_section): Removed some xcoff specific processing from TE_PE
|
|
(ppc_fix_adjustable): Removed from TE_PE mainline
|
|
(md_apply_fix3): For TE_PE toc entries, we don't need to mess
|
|
with fx_addnumber. Removed for the time being.
|
|
(lots): Put back missing assignments to ppc_current_csect.
|
|
|
|
Tue Sep 26 14:57:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_suffix): Support all of the V.4
|
|
relocations.
|
|
(ppc_elf_cons): Remove restriction that @ suffixes must be done
|
|
with .long. Add error if relocation does not fit in the number of
|
|
bytes provided.
|
|
(md_assemble): For absolute branches, map PC relative relocations
|
|
back into an equivalent absolute relocation.
|
|
(md_pcrel_from): If TC_FORCE_RELOCATION is true, relocation offset
|
|
is 0, not segment start.
|
|
(md_apply_fix3): Don't bother writing addend into the instruction,
|
|
since it is ignored, given that we use RELA relocations for ELF.
|
|
|
|
* config/tc-ppc.h (TC_FORCE_RELOCATION): Define to force all
|
|
branch prediction relocations to always be emitted.
|
|
|
|
Mon Sep 25 16:08:43 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_suffix): Lower case reloc before
|
|
testing.
|
|
(md_assemble): Be more robust in terms of relocations.
|
|
(md_apply_fix3): Allow 14 bit relocs to be emitted for external
|
|
symbols in addition to 26 bit relocs. Properly insert 26/14 bit
|
|
reloc value fields into the instruction stream.
|
|
|
|
Mon Sep 25 00:23:16 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-arm.c (md_atof): Output little endian constants in
|
|
little endian mode.
|
|
|
|
* config/obj-coff.c (obj_coff_section): Pass &type, not type,
|
|
s_mri_sect.
|
|
|
|
* configure.in: Fix typo: fmt-elf to fmt=elf.
|
|
|
|
Fri Sep 22 16:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_suffix): Rewrite to use a table of
|
|
strings and relocations they represent. Add @br{,n}taken for
|
|
branch taken/not taken support.
|
|
(md_apply_fix3): Add BFD_RELOC_PPC_B16_BR{,N}TAKEN support.
|
|
|
|
Thu Sep 21 21:10:17 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_parse_option): -mrelocatable-lib now only
|
|
sets EF_PPC_RELOCATABLE_LIB and not also EF_PPC_RELOCATABLE.
|
|
|
|
Thu Sep 21 16:30:56 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* subsegs.c (subseg_set): Permit SEG_ABSOLUTE in know expression.
|
|
* expr.c (expr): Account for new operatorT values in know
|
|
expression.
|
|
|
|
* write.c (fixup_segment): Clear fixp->fx_subsy if the relocation
|
|
is fully resolved.
|
|
|
|
Thu Sep 21 14:11:49 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_flags): New variable to hold the flag bits
|
|
to set in the ELF header.
|
|
(md_parse_option): Add support for -mrelocatable-lib. Make both
|
|
-mrelocatable and -mrelocatable-lib set ppc_flags.
|
|
(md_begin): Set ELF flags with ppc_flags.
|
|
|
|
Wed Sep 20 13:01:52 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* Makefile.in (maintainer-clean): New target, synonym for
|
|
realclean. Add GNU standard maintainer-clean echos.
|
|
* doc/Makefile.in (maintainer-clean): New target, synonym for
|
|
realclean.
|
|
|
|
Tue Sep 19 11:31:31 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (m68k_ip): Reject immediate operands for '%'.
|
|
|
|
* config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'.
|
|
Replace 'P' with '0', '1', and '2'.
|
|
|
|
* config/tc-m68k.c (parse_mri_control_operand): Change leftstop
|
|
and rightstop to not be const.
|
|
(parse_mri_control_expression): Likewise.
|
|
(build_mri_control_operand): Likewise. Use m68k_ip_op to examine
|
|
the operand, not m68k_reg_parse.
|
|
(s_mri_if): In MRI mode, stop at the first '*'.
|
|
(s_mri_while): Likewise.
|
|
(s_mri_else): In MRI mode, ignore trailing characters.
|
|
(s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise.
|
|
(s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise.
|
|
* config/m68k-parse.y: Revert yesterday's change.
|
|
* config/m68k-parse.h: Revert yesterday's change.
|
|
|
|
Mon Sep 18 15:22:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (parse_mri_control_operand): Change leftstart
|
|
and rightstart to not be const.
|
|
(parse_mri_control_expression): Likewise.
|
|
(build_mri_control_operand): Likewise. If the left side of the
|
|
comparison is a register, and the right side is not, swap the two
|
|
sides.
|
|
* config/m68k-parse.y (m68k_reg_parse): Make globally visible.
|
|
* config/m68k-parse.h (m68k_reg_parse): Declare.
|
|
|
|
* read.c (mri_comment_field): New function.
|
|
(mri_comment_end): New function.
|
|
(s_align_bytes): Use mri_comment_field.
|
|
(s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise.
|
|
(s_float_space, s_struct): Likewise.
|
|
(s_space): Use mri_comment_field rather than doing it by hand.
|
|
(cons_worker, equals): Likewise.
|
|
(s_end): Ignore comments starting with '*' or '!'.
|
|
* read.h (mri_comment_field): Declare.
|
|
(mri_comment_end): Declare.
|
|
* cond.c (s_if): Use mri_comment_field.
|
|
* config/tc-m68k.c (s_chip, s_reg): Likewise.
|
|
|
|
* write.c (fixup_segment): Handle ABS-sym in -sym case rather than
|
|
sym-sym case.
|
|
* config/obj-coff.c (fixup_segment): Likewise. Permit negative
|
|
symbols if TC_M68K.
|
|
* config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return
|
|
R_RELLONG_NEG.
|
|
(tc_gen_reloc): If fx_tcbit is set, abort.
|
|
(md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy,
|
|
and set fx_tcbit.
|
|
|
|
* config/tc-m68k.c (s_reg): Ignore comment field in MRI mode.
|
|
|
|
Mon Sep 18 14:44:04 1995 Arne H. Juul <arnej@pvv.unit.no>
|
|
|
|
* configure.in (mips-dec-netbsd*): New target.
|
|
* configure: Rebuild.
|
|
|
|
Sun Sep 17 22:17:43 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* configure.in: Set endian to little for mips-*-ultrix*.
|
|
* configure: Rebuild.
|
|
|
|
Fri Sep 15 13:16:55 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* expr.c (current_location): New static function. Handle magic
|
|
symbol `.'; in absolute section, return a constant.
|
|
(operand): Call current_location for '.' and '$', instead of doing
|
|
it inline. In MRI mode, call current_location for '*'.
|
|
|
|
Fri Sep 15 21:39:29 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-m68k.c: Change some "CONST" references to "const".
|
|
|
|
Fri Sep 15 17:27:41 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
Tue Sep 12 17:08:23 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (VMS_stab_parse): simplify first loop;
|
|
use S_GET_NAME/modify/S_SET_NAME sequence instead of abusing
|
|
S_GET_NAME when updating symbol name.
|
|
(local_symbols_DST): first prefix/postfix typo from July 21st.
|
|
[plus comment reformatting --kr]
|
|
|
|
Wed Sep 13 12:33:03 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* Makefile.in (EXPECT): New variable.
|
|
(CHECKFLAGS): Remove.
|
|
(site.exp): New target.
|
|
(check): Rewrite to invoke runtest directly, rather than recurring
|
|
down into testsuite.
|
|
(clean-here): Remove testsuite directory.
|
|
(clean, distclean): Don't recur into testsuite.
|
|
* configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite).
|
|
* configure: Rebuild.
|
|
|
|
* write.c (relax_and_size_seg): Change to the segment we are
|
|
relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
|
|
wants to call fix_new.
|
|
* config/tc-m68k.c (m68k_ip): Permit PC relative code if the
|
|
segment of the symbol is the current segment, not just in
|
|
text_section.
|
|
(md_convert_frag_1): Don't call subseg_change.
|
|
(md_estimate_size_before_relax): Likewise.
|
|
|
|
Tue Sep 12 10:36:40 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arm.c (md_atof): Fix debugging printf, and leave it
|
|
out by default.
|
|
|
|
Mon Sep 11 11:39:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* doc/configure.in: Remove unused file.
|
|
|
|
* app.c (do_scrub_chars): Grab all available spaces at start of
|
|
line before preserving a single space. Remove state == 0 test
|
|
which will never succeed.
|
|
* macro.c (macro_expand_body): Delete local variables from the
|
|
formal hash table.
|
|
(macro_expand): In MRI mode, stop when whitespace is seen in the
|
|
argument list.
|
|
|
|
* sb.c: Include "libiberty.h".
|
|
* macro.c: Likewise. Also include <stdlib.h> if it exists.
|
|
|
|
Fri Sep 8 00:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* app.c (do_scrub_chars): In MRI mode, keep a space before a
|
|
possible comment character.
|
|
* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
|
|
an instruction which takes no operands.
|
|
|
|
* Makefile.in (install): Don't install gasp in $(tooldir).
|
|
|
|
* config/tc-mips.c (macro): Handle a non zero base register for
|
|
M_U{L,S}{D,W,H}_A.
|
|
|
|
* gasp.c (show_usage): Put program_name argument in first fprintf,
|
|
not second.
|
|
|
|
Thu Sep 7 12:33:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* expr.c (operand): Handle 08 and 09 in MRI mode.
|
|
* macro.c (ISSEP): Remove duplicated `"' character.
|
|
(get_any_string): Copy some characters for which ISSEP is true:
|
|
';', '>', '(', ')'. Otherwise we can get in an infinite loop.
|
|
* read.c (s_space): In MRI mode, the expressions stop at the first
|
|
unquoted space.
|
|
(cons_worker): In MRI mode, restore the terminating character at
|
|
the end of the function.
|
|
|
|
* read.c (cons_worker): Don't use #elif; old compilers don't
|
|
support it.
|
|
|
|
Wed Sep 6 21:13:06 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* app.c (do_scrub_chars): In MRI mode, silently end quoted strings
|
|
at newline characters. In MRI mode, always keep spaces in the
|
|
operands field. In MRI mode, treat a line comment character as a
|
|
regular comment character following a space.
|
|
* cond.c (ignore_input): Use strncasecmp rather than strncmp when
|
|
looking for special pseudo-ops.
|
|
* read.c (cons_worker): In MRI mode, the expressions stop at the
|
|
first unquoted space.
|
|
(equals): Likewise.
|
|
|
|
start-sanitize-sh3e
|
|
Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
|
|
|
* config/tc-sh.c (get_operands): Read third arg if it exists.
|
|
Otherwise, clear it.
|
|
(get_specific, case F_FR0): Add.
|
|
|
|
end-sanitize-sh3e
|
|
Wed Sep 6 15:03:53 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
|
|
|
* config/tc-sh.c (get_specific): Delete arg_to_test.
|
|
(md_assemble): Increase operand array from 2 to 3.
|
|
|
|
Tue Sep 5 16:47:36 1995 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* config/tc-mips.c: Remove CYGNUS LOCAL comments.
|
|
(md_begin): Use 0/1 instead of TRUE/FALSE.
|
|
(md_show_usage): Break up long format string for the benefit
|
|
of lame compilers.
|
|
* config/tc-m68k.c (md_show_usage): Ditto.
|
|
* gasp.c (show_usage): Ditto.
|
|
* macro.c (check_macro): Cast result of hash_find.
|
|
|
|
Tue Sep 5 14:46:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* configure.in: When testing for a free() declaration in system
|
|
header files, cast the address to a function pointer, not to an
|
|
integer.
|
|
|
|
* write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE
|
|
is defined. Don't initialize fx_bsr. Verify that fx_size field
|
|
is wide enough to hold stored value.
|
|
* write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if
|
|
that is defined, otherwise omit it. Delete fx_bsr. Change
|
|
fx_size to unsigned char.
|
|
* config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
|
|
macros.
|
|
* config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New
|
|
macros.
|
|
* config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.
|
|
|
|
* config/tc-i860.c (md_apply_fix): Delete code for checking
|
|
fx_im_disp, and for handling non-zero values, since it never gets
|
|
set after being initialized to zero.
|
|
|
|
* write.h (struct fix): Make fx_im_disp always 2 bits, since the
|
|
only tc-* files actually using it need that much.
|
|
|
|
NS32K changes from Ian Dall:
|
|
* configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
|
|
ns32k-pc532-lites* like ns32k-pc532-netbsd*.
|
|
* config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
|
|
|
|
Fri Sep 1 17:02:15 1995 steve chamberlain <sac@slash.cygnus.com>
|
|
|
|
* write.c (fixup_segment): Get TC_FORCE_RELOCATION up the
|
|
right way!
|
|
|
|
Fri Sep 1 08:20:19 1995 James G. Smith <jsmith@beauty.cygnus.com>
|
|
|
|
* config/tc-mips.c (md_parse_option, md_begin, md_show_usage):
|
|
Add support for "-mcpu=vr4300" as processor identifier.
|
|
|
|
Thu Aug 31 16:41:06 1995 steve chamberlain <sac@slash.cygnus.com>
|
|
|
|
* write.c (fixup_segment): Remove change of 29th.
|
|
* config/tc-{i386,arm}.h (TC_FORCE_RELOCATION): Keep RVA relocs.
|
|
|
|
Tue Aug 29 19:42:58 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|
|
|
* config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when
|
|
looking at outer displacement. Don't set the postindex bit if the
|
|
index suppress bit is set (for memory indirect addressing mode).
|
|
|
|
Thu Aug 31 06:49:37 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arm.c (tc_gen_reloc): Delete duplicated code.
|
|
|
|
Wed Aug 30 23:51:57 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* app.c (do_scrub_chars): Free saved_input when the from buffer
|
|
exactly fills the to buffer.
|
|
|
|
Wed Aug 30 13:46:39 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-sparc.c (parse_keyword_arg, parse_const_expr_arg): New fns.
|
|
(sparc_ip): Call them for asi, membar, and prefetch parsing.
|
|
|
|
Tue Aug 29 15:45:37 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-sparc.c (membar_masks): Deleted.
|
|
(sparc_ip): Clean up ASI and membar support.
|
|
|
|
Tue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com>
|
|
|
|
* read.c (potable): Rva is new entry.
|
|
(cons_worker): New, split from cons. Handles rva.
|
|
(cons, s_rva): Call cons_worker.
|
|
* read.h (s_rva): New declaration.
|
|
* write.c (fixup_segment): Don't throw away rva relocs.
|
|
* config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA.
|
|
* config/tc-i386.c (tc_coff_fix2type): Handle RVA.
|
|
* config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs.
|
|
(TC_RVA_RELOC): New definition.
|
|
|
|
Sun Aug 27 17:41:05 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arm.c (do_swi): Allow optional leading '#'.
|
|
|
|
Sat Aug 26 17:24:20 1995 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-m68k.c (comment_chars): If TE_DELTA is defined,
|
|
include '#'.
|
|
* config/tc-m68k.h (NO_PSEUDO_DOT): Define if TE_DELTA is
|
|
defined.
|
|
|
|
* config/te-delta.h: Include obj-format.h.
|
|
* config/te-sco386.h: Likewise.
|
|
* config/te-sysv32.h: Likewise.
|
|
|
|
* app.c (scrub_file): Remove.
|
|
(scrub_from_file, scrub_to_file): Remove.
|
|
(scrub_string, scrub_last_string): Remove.
|
|
(scrub_from_string, scrub_to_string): Remove.
|
|
(saved_input, saved_input_len): New static variables.
|
|
(struct app_saved): Remove scrub_string, scrub_last_string, and
|
|
scrub_file fields. Add saved_input and saved_input_len fields.
|
|
(app_push): Adjust saved fields for changes in struct app_save.
|
|
Initialize state and saved_input.
|
|
(app_pop): Adjust saved fields for changes in struct app_save.
|
|
(do_scrub_chars): Rename from do_scrub_next_char and rewrite to
|
|
process a buffer at a time rather than a character at a time.
|
|
(main, as_warn): Remove obsolete testing code.
|
|
* as.h (do_scrub_next_char): Don't declare.
|
|
(do_scrub_chars): Declare.
|
|
(scrub_from_file, scrub_from_string): Don't declare.
|
|
(scrub_to_file, scrub_to_string): Don't declare.
|
|
* input-file.c (input_file_get): New static function.
|
|
(input_file_give_next_buffer): Call do_scrub_chars rather than
|
|
do_scrub_next_char.
|
|
* read.c (scrub_string, scrub_string_end): New static variables.
|
|
(scrub_from_string): New static function.
|
|
(read_a_source_file): Call do_scrub_chars rather than
|
|
do_scrub_next_char.
|
|
|
|
Thu Aug 24 18:50:19 1995 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* gasp.c (as_abort): New function.
|
|
* sb.c (sb_build): Revert yesterday's patch.
|
|
|
|
* Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
|
|
Just link against libiberty, not against $(LIBS).
|
|
|
|
Wed Aug 23 15:18:20 1995 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* sb.c (sb_build): Undefine abort before calling it, since gasp
|
|
does not provide as_abort.
|
|
|
|
Wed Aug 23 10:40:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (set_target_endian): New static to say whether
|
|
we've initialized target_big_endian or not.
|
|
(md_parse_option): Set set_target_endian if we set the variable
|
|
target_big_endian.
|
|
(md_begin): Only set target_big_endian if !set_target_endian.
|
|
|
|
Tue Aug 22 03:00:33 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
Sat Aug 19 18:08:16 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.h (DST_S_C_SRC_SETREC_W, DST_S_C_SRC_DEFLINES_B):
|
|
New macros.
|
|
* config/obj-vms.c (VMS_TBT_Line_PC_Correlation,
|
|
VMS_TBT_Source_Lines): Make traceback info be robust enough to
|
|
handle huge source files.
|
|
(VMS_TBT_Source_File): Reorganize the native- vs cross-assembly
|
|
support so that actual object file output is clearer.
|
|
(VMS_TBT_Source_File: Fab, Nam, Date_Xab, File_Header_Xab):
|
|
Replace static variables with automatic ones.
|
|
|
|
Sat Aug 12 20:18:15 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (Module_Name): new file scope variable.
|
|
(VMS_TBT_Module_Begin): use it instead of local variable.
|
|
(Write_VMS_MHD_Records): ditto; assign its value here.
|
|
(Write_VMS_EOM_Record): second argument has type valueT.
|
|
(VMS_Initialized_Data_Size): simplify search loop; return
|
|
type is offsetT; second argument is unsigned.
|
|
|
|
Sat Jun 17 19:05:25 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* messages.c (as_perror): Use xstrerror instead of strerror.
|
|
|
|
Mon Aug 21 13:57:20 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* as.c (parse_args): Accept --defsym SYM=VALUE.
|
|
* doc/as.texinfo, doc/as.1: Document --defsym.
|
|
|
|
* read.c (read_a_source_file): In MRI mode, don't end the
|
|
statement inside a quotation.
|
|
(s_space): Don't warn about a zero repeat count in MRI mode.
|
|
* config/tc-m68k.c (crack_operand): In MRI mode, don't count
|
|
parentheses inside quotes.
|
|
(md_assemble): In MRI mode, anything after the operands field is a
|
|
comment.
|
|
(parse_mri_control_operand): Adjust start and stop to remove
|
|
spaces.
|
|
(s_mri_for): Likewise.
|
|
|
|
* cond.c (s_ifdef): Restore the character after the symbol name,
|
|
in case it is a newline.
|
|
(s_if): If ignoring the current tree, don't try to parse the
|
|
expression.
|
|
|
|
* app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or
|
|
LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space.
|
|
|
|
* doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
|
|
now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
|
|
using gasp.
|
|
|
|
Add support for macros.
|
|
* as.c: Include sb.h and macro.h.
|
|
(max_macro_next): New global variable.
|
|
(main): Call macro_init.
|
|
(macro_expr): New static function.
|
|
* as.h (max_macro_nest): Declare.
|
|
* read.c (line_label): Rename from mri_line_label. Change all
|
|
uses.
|
|
(potable): Add exitm, irp, irpc, macro, mexit, rept.
|
|
(read_a_source_file): Always clear line_label at the start of a
|
|
line, not just when flag_mri or LABELS_WITHOUT_COLONS. Fix
|
|
MRI/LABELS_WITHOUT_COLONS handling. In MRI mode, permit label:
|
|
equ val. Set line_label when calling colon. In MRI mode, a
|
|
leading '.' does not imply a pseudo-op. Check for macro expansion
|
|
before calling md_assemble.
|
|
(s_irp): New function.
|
|
(get_line_sb): New static function.
|
|
(s_macro): New function.
|
|
(s_mexit): New function.
|
|
(s_rept): New function.
|
|
* read.h (line_label): Rename from mri_line_label.
|
|
(s_irp, s_rept): Declare.
|
|
(s_macro, s_mexit): Declare.
|
|
* input-scrub.c: Include sb.h.
|
|
(sb_index, from_sb): New static variables.
|
|
(macro_nest): New static variable.
|
|
(struct input_save): Add sb_index and from_sb fields. Change
|
|
next_saved_file field to be struct input_save *.
|
|
(next_saved_file): Changed to be struct input_save *.
|
|
(input_scrub_push): Change to return type struct input_save *.
|
|
Save sb_index and from_sb.
|
|
(input_scrub_pop): Change parameter type to struct input_save *.
|
|
Restore sb_index and from_sb.
|
|
(input_scrub_include_sb): New function.
|
|
(input_scrub_next_buffer): Handle reading from from_sb.
|
|
(bump_line_counters): Only increment lines if not using from_sb.
|
|
* config/tc-m68k.c (opt_table): Add nest.
|
|
(opt_nest): New static function.
|
|
* gasp.c: Include sb.h and macro.h. Move all sb related functions
|
|
and definitions to sb.h and sb.c. Move all macro related
|
|
functions and definitions to macro.h and macro.c.
|
|
* sb.h, sb.c: New files, extracted from gasp.c.
|
|
* macro.h, macro.c: Likewise.
|
|
* Makefile.in (OBJS): Add sb.o and macro.o
|
|
(GASPOBJS): Define.
|
|
(gasp.new): Depend upon $(GASPOBJS). Use $(GASPOBJS) to link.
|
|
(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
|
|
(gasp.o): Depend upon sb.h and macro.h.
|
|
(sb.o): New target.
|
|
(macro.o): New target.
|
|
(as.o): Depend upon sb.h and macro.h.
|
|
(input-scrub.o): Depend upon sb.h.
|
|
(read.o): Depend upon sb.h and macro.h.
|
|
|
|
* cond.c (get_mri_string): New static function.
|
|
(s_ifc): New function.
|
|
* read.c (potable): Add ifc and ifnc.
|
|
* read.h (s_ifc): Declare.
|
|
|
|
* app.c (do_scrub_begin): In MRI mode, set lex of ' to
|
|
LEX_IS_STRINGQUOTE.
|
|
|
|
Mon Aug 21 13:41:33 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_assemble): Allow @HA, @L, and @H suffixes on
|
|
constant expressions.
|
|
|
|
Sun Aug 20 15:54:37 1995 Jim Wilson <wilson@cygnus.com>
|
|
|
|
* config/tc-arm.c (md_reloc_size): Add const to declaration.
|
|
|
|
Fri Aug 18 10:58:09 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* read.c (s_include): In MRI mode, don't expect quotes around the
|
|
file name.
|
|
* listing.c (listing_title): Don't require the title to be quoted.
|
|
|
|
* gasp.c (include_print_where_line): Always subtract 1 from
|
|
linecount before printing it.
|
|
(process_file): In MRI mode, lines beginning with '*' or '!' are
|
|
comments.
|
|
(do_reg): In MRI mode, don't require parentheses.
|
|
(do_include): In MRI mode, don't requires quotes. If the file can
|
|
not be found in the include path, try opening it in the current
|
|
directory. Print the file name correctly in the error message.
|
|
(chartype_init): In MRI mode, set FIRSTBIT for '.'.
|
|
(main): Set comment_char to ';' when entering MRI mode.
|
|
|
|
* config/tc-m68k.c: Include subsegs.h.
|
|
(m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
|
|
(md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
|
|
|
|
* config/tc-sparc.h (tc_fix_adjustable): For OBJ_AOUT case, adjust
|
|
BFD_RELOC_16 and BFD_RELOC_32 relocs.
|
|
|
|
Wed Aug 16 14:48:44 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
* as.h (alloca): Use void* declaration on HP/UX.
|
|
|
|
Wed Aug 16 12:49:17 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
|
|
to WPLT30 for an undefined or external symbol. Don't consider
|
|
PC10 or PC22 to be a PC relative reloc when choosing between
|
|
fx_addnumber and fx_offset.
|
|
|
|
* config/tc-z8k.c (md_number_to_chars): Don't do it here, call
|
|
number_to_chars_bigendian.
|
|
* config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
|
|
* expr.c (operand): Add support for .startof. and .sizeof. by
|
|
using magic symbol names which the linker will recognize
|
|
specially.
|
|
* doc/as.texinfo: Take out note that .startof. and .sizeof. are
|
|
not supported.
|
|
|
|
Tue Aug 15 15:08:49 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (md_pseudo_table): Add MRI structured control
|
|
directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
|
|
break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
|
|
for.l, endf, repeat, until, until.b, until.w, until.l, while,
|
|
while.b, while.w, while.l, endw.
|
|
(enum mri_control_type): Define.
|
|
(struct mri_control_info): Define.
|
|
(mri_control_stack): New static variable.
|
|
(mri_control_index): New static variable.
|
|
(mri_control_label): New static function.
|
|
(push_mri_control, pop_mri_control): New static functions.
|
|
(parse_mri_condition): New static function.
|
|
(parse_mri_control_operand): New static function.
|
|
(swap_mri_condition, reverse_mri_condition): New static functions.
|
|
(build_mri_control_operand): New static function.
|
|
(parse_mri_control_expression): New static function.
|
|
(s_mri_if, s_mri_else, s_mri_endi): New static functions.
|
|
(s_mri_break, s_mri_next): New static functions.
|
|
(s_mri_for, s_mri_endf): New static functions.
|
|
(s_mri_repeat, s_mri_until): New static functions.
|
|
(s_mri_while, s_mri_endw): New static functions.
|
|
* gasp.c (mrikinfo): Remove IF.
|
|
* expr.c (get_symbol_end): Accept \001 as part of a name.
|
|
|
|
* symbols.c (colon): Change parameter to const char *.
|
|
* symbols.h (colon): Update declaration.
|
|
|
|
Mon Aug 14 20:51:56 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
* write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL
|
|
way. Reformat and reindent that code to GNU standards.
|
|
(BFD_FAST_SECTION_FILL): Don't define.
|
|
|
|
Mon Aug 14 14:08:07 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Don't try to apply BEGIN_BRTAB
|
|
or END_BRTAB fixups.
|
|
|
|
Mon Aug 14 15:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* gasp.c (do_align, get_any_string): Mark as static.
|
|
(do_assigna, do_assignc, new_file): Likewise.
|
|
|
|
* config/tc-m68k.c (s_reg): Rename local op to rop to avoid
|
|
confusion with macro op.
|
|
|
|
* gasp.c (strip_comments): Comment out; it's not used.
|
|
(do_end): Add parameter. In MRI mode, print it out.
|
|
(do_irp): New static function.
|
|
(sub_actual): Change parameter m to formal_hash, changing type
|
|
from macro_entryh * to hash_table *.
|
|
(macro_expand_body): New static function, broken out of
|
|
macro_expand.
|
|
(macro_expand): Call macro_expand_body.
|
|
(K_*): Fully parenthesize.
|
|
(K_IRP, K_IRPC): Define.
|
|
(mrikinfo): Add IRP and IRPC.
|
|
(process_pseudo_op): In MRI mode, print out END pseudo-op. Pass
|
|
line to do_end. Handle K_IRP and K_IRPC.
|
|
|
|
* config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
|
|
don't do anything with the option.
|
|
|
|
Sun Aug 13 17:03:58 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* frags.c (frag_align): Handle absolute_section.
|
|
* write.c (record_alignment): Likewise.
|
|
|
|
* config/tc-mips.c (macro_build): Skip insns with an inappropriate
|
|
ISA level.
|
|
|
|
Sun Aug 13 00:35:02 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_pseudo_table): Add entries for
|
|
"begin_brtab" and "end_brtab" pseudo-ops.
|
|
(pa_brtab): New function.
|
|
(tc_gen_reloc, SOM version): Handle R_BEGIN_BRTAB and R_END_BRTAB.
|
|
(hppa_force_relocation): Force relocations for BRTAB fixups
|
|
when OBJ_SOM is defined.
|
|
|
|
Fri Aug 11 20:34:05 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
* Makefile.in (TE_OBJS): Add empty definition.
|
|
|
|
Fri Aug 11 19:16:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* gasp.c (change_base): Don't treat ' specially in MRI mode.
|
|
(process_file): Don't warn about missing END in MRI mode.
|
|
(do_if): New static function.
|
|
(get_mri_string, do_ifc): New static functions.
|
|
(buffer_and_nest): Treat MRI mode like alternate syntax mode.
|
|
(do_aendr): Change error message in MRI mode.
|
|
(do_arepeat): Use REPT/ENDR in MRI mode.
|
|
(do_formals): In MRI mode, add special NARG formal.
|
|
(macro_expand): Various changes for MRI mode: permit a qualifier
|
|
on the macro name; set special NARG formal; permit unnamed
|
|
positional arguments; use && to concatenate named parameters;
|
|
permit \d to specify an unnamed parameter; permit named parameters
|
|
to not start with \; use == to see if a parameter exists.
|
|
(getstring): In MRI mode, allow <> to quote a string.
|
|
(K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define.
|
|
(K_IFC, K_IFNC): Define.
|
|
(struct keyword): Name structure used in kinfo array.
|
|
(mrikinfo): New static array.
|
|
(process_pseudo_op): Don't require leading '.' in MRI mode.
|
|
Handle new MRI pseudo-op definitions.
|
|
(add_keyword): New static function, broken out of process_init.
|
|
(process_init): Use add_keyword. In MRI mode, add mrikinfo table.
|
|
(long_options): Add "mri".
|
|
(show_usage): Mention -M/--mri.
|
|
(main): Call process_init after processing arguments. Handle -M.
|
|
* doc/gasp.texi: Document -M/--mri.
|
|
|
|
* gasp.c: Include ansidecl.h. Make all local functions static.
|
|
Add prototypes for all static functions.
|
|
(mri): New global variable.
|
|
(sb_add_char): Change parameter c from char to int.
|
|
(sb_add_string): Make parameter s into a const pointer.
|
|
(sb_add_buffer): Likewise.
|
|
(checkconst): Change parameter op from char to int.
|
|
(exp_get_abs): Make parameter emsg into a const pointer.
|
|
(do_res): Change parameter type from char to int.
|
|
(buffer_and_nest): Make parameters from and to into const
|
|
pointers.
|
|
(do_sdata): Change parameter type from char to int.
|
|
(new_file): Make parameter name into a const pointer.
|
|
(do_define): Make parameter string into a const pointer.
|
|
|
|
* config/tc-h8300.c (md_number_to_chars): Don't do it here, call
|
|
number_to_chars_bigendian.
|
|
* config/tc-h8300.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
|
|
Fri Aug 11 13:23:56 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* write.h (struct fix): Add new field fx_no_overflow.
|
|
|
|
* write.c (fixup_segment): If fx_no_overflow is non-zero, don't
|
|
complain if the addend is too large.
|
|
|
|
* config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half
|
|
word relocations BFD_RELOC_{LO16,HI16,HI16_S}.
|
|
|
|
Thu Aug 10 20:56:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and
|
|
setting section flags.
|
|
|
|
Thu Aug 10 00:38:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* doc/as.texinfo: Add documentation for MRI compatibility mode.
|
|
* doc/as.1: Likewise.
|
|
|
|
* config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
|
|
iword rather than expr8 and expr16. When recognizing 'M', use
|
|
issbyte rather than expr8. When recognizing 'Q' and 't', just
|
|
check for O_constant rather than using expr8.
|
|
* config/m68k-parse.h (expr8, expr16): Don't define.
|
|
* Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
|
|
m68k-parse.y.
|
|
|
|
* read.c (potable): Add spc, ttl, xcom, xref.
|
|
(s_mri_sect): New function.
|
|
* read.h (s_mri_sect): Declare.
|
|
* config/obj-coff.c (obj_coff_section) (both versions): In MRI
|
|
mode, call s_mri_sect.
|
|
(obj_pseudo_table): Add sect.s and section.s. Move sect outside
|
|
of ifndef BFD_ASSEMBLER.
|
|
* config/obj-elf.c (elf_pseudo_table): Add section.s, sect,
|
|
sect.s.
|
|
(obj_elf_section): In MRI mode, call s_mri_sect.
|
|
* config/tc-m68k.c (md_pseudo_table): Add restore, save.
|
|
(struct save_opts): Define.
|
|
(save_stack): New static variable.
|
|
(s_save, s_restore): New static functions.
|
|
|
|
* read.c (s_set): Remove unused local ptr.
|
|
(hex_float): Check target_big_endian.
|
|
(equals): Remove unused local p.
|
|
|
|
* config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define.
|
|
* config/tc-sh.c (little): Set target_big_endian.
|
|
(md_begin): Likewise.
|
|
(md_parse_option): Likewise.
|
|
(build_relax): Check target_big_endian rather than shl.
|
|
(build_Mytes, md_atof): Likewise.
|
|
(md_convert_frag, md_apply_fix): Likewise.
|
|
(md_number_to_chars): Likewise.
|
|
|
|
Wed Aug 9 10:51:48 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (m68k_abspcadd): New static variable.
|
|
(m68k_quick): New static variable.
|
|
(m68k_rel32): New static variable.
|
|
(md_pseudo_table): Add opt and reg.
|
|
(m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check
|
|
m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in
|
|
DISP handling. Check m68k_rel32 in BASE/POST/PRE handling.
|
|
(md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32.
|
|
In MRI mode, change unsized branch aliases to be variable sized.
|
|
(struct opt_action): Define.
|
|
(opt_table): Define.
|
|
(s_opt): New static function.
|
|
(skip_to_comma): New static function.
|
|
(opt_chip): New static function.
|
|
(opt_list): New static function.
|
|
(opt_list_symbols): New static function.
|
|
(s_reg): New static function.
|
|
* as.h (flag_keep_locals): Change from unsigned char to int.
|
|
(flag_no_warnings): Likewise.
|
|
|
|
* read.c (mri_line_label): Make non-static.
|
|
(potable): Add nopage, page, plen.
|
|
(s_org): Error if in MRI mode.
|
|
* read.h (mri_line_label): Declare.
|
|
* listing.c (listing_nopage): New function.
|
|
* listing.h (listing_nopage): Declare.
|
|
|
|
* symbols.c (symbol_begin): Set sy_frag of abs_symbol to
|
|
&zero_address_frag.
|
|
|
|
* write.c (adjust_reloc_syms): Check that symbol is not NULL
|
|
before checking sy_mri_common.
|
|
(fixup_segment): Likewise.
|
|
* config/obj-coff.c (fixup_segment): Likewise.
|
|
|
|
* read.c (abs_section_offset): New global variable.
|
|
(potable): Add offset, struct.
|
|
(do_org): New static function; handle changing the origin in the
|
|
absolute section.
|
|
(s_org): Use do_org.
|
|
(s_set): Likewise.
|
|
(equals): Likewise.
|
|
(s_space): In absolute_section, just increase abs_section_offset.
|
|
(s_struct): New function.
|
|
(emit_expr): Handle absolute_section specially.
|
|
* read.h (abs_section_offset): Declare.
|
|
(s_struct): Declare.
|
|
* frags.c (frag_more): Warn if in absolute_section.
|
|
(frag_now_fix): In absolute_section, return abs_section_offset.
|
|
* subsegs.c (subseg_change): If switching to absolute_section,
|
|
just set now_seg and now_subseg.
|
|
(subseg_set_rest): Special handling when switching to or from
|
|
absolute_section.
|
|
|
|
* config/tc-m68k.c (m68k_float_copnum): New static variable.
|
|
(md_pseudo_table): Add fopt and mask2.
|
|
(m68k_ip): Use m68k_float_copnum, not COPNUM, when setting
|
|
coprocessor register to use. In case 'I' when checking operands,
|
|
correct coprocessor register numbers. In case 'I' when setting
|
|
operands, don't add 1.
|
|
(s_fopt): New static function.
|
|
* config/m68k-parse.h (COPNUM): Don't define.
|
|
|
|
* read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne.
|
|
Change if to pass O_ne to s_if.
|
|
(read_a_source_file): Don't define an label without a colon if
|
|
ignore_input returns true.
|
|
* cond.c (s_if): Treat argument as an operatorT describing how to
|
|
compare the argument against zero.
|
|
(ignore_input): Don't require an initial dot in MRI mode, or if
|
|
NO_PSEUDO_DOT is defined.
|
|
|
|
* read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w,
|
|
dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen,
|
|
noformat.
|
|
(read_a_source_file): If pseudo-op handler is s_end, quit
|
|
immediately.
|
|
(s_end): New function.
|
|
(s_fail): New function.
|
|
(s_float_space): New function.
|
|
(hex_float): New static function.
|
|
(float_cons): Use hex_float.
|
|
* read.h (s_fail): Declare.
|
|
(s_float_space): Declare.
|
|
* cond.c (s_end): Remove.
|
|
* listing.c (listing_psize): Treat argument as indicating whether
|
|
a height is expected.
|
|
|
|
* read.c (mri_pending_align): New static variable.
|
|
(read_a_source_file): Handle mri_pending_align.
|
|
(cons): Set mri_pending_align if appropriate.
|
|
|
|
* configure.in: Move random special target handling before
|
|
possible break.
|
|
* configure: Rebuild.
|
|
|
|
Tue Aug 8 23:41:25 1995 Alan Modra <alan@spri.levels.unisa.edu.au>
|
|
|
|
* configure.in: Consistently use ${target_cpu_type} rather than
|
|
${cpu_type} after the loop.
|
|
* configure: Rebuild.
|
|
* Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
|
|
@cpu_type@.
|
|
|
|
Tue Aug 8 17:27:17 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* expr.h (operatorT): Remove comma after last enumerator value.
|
|
|
|
* config/obj-vms.c: Some whitespace cleanup from Pat Rankin.
|
|
|
|
* as.h (alloca): If __STDC__, declare void* instead of char*.
|
|
|
|
Wed Aug 2 18:54:37 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (Flush_VMS_Object_Record_Buffer,
|
|
Close_VMS_Object_File): Reorganize the `#if !VMS' cross-assmebler
|
|
support code.
|
|
(Close_VMS_Object_File): Call Set_VMS_Object_File_Record to flush
|
|
output buffer--just in case--before closing the file.
|
|
|
|
Tue Aug 8 13:07:05 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
|
|
68ec020, 68ec030, 68ec040, and 68330.
|
|
(md_pseudo_table): Add chip and comline.
|
|
(m68k_init_after_args): Use strcasecmp when comparing default_cpu
|
|
against architectures.
|
|
(mri_chip, s_chip): New static functions.
|
|
|
|
* struc-symbol.h (struct symbol): Add sy_mri_common bit.
|
|
* read.h (mri_comon_symbol): Declare.
|
|
(s_mri_common): Declare.
|
|
* read.c (mri_line_label): New static variable.
|
|
(mri_common_symbol): New global variable.
|
|
(potable): Add "common" and "common.s".
|
|
(read_a_source_file): In MRI mode, set mri_line_label for a label
|
|
at the start of a line.
|
|
(s_mri_common): New function.
|
|
(s_space): Handle mri_common_symbol.
|
|
* symbols.c (colon): Change return value from void to symbolS *,
|
|
and return new symbol. If mri_common_symbol is set, attach the
|
|
new symbol to it.
|
|
(resolve_symbol_value): Handle an sy_mri_common symbol.
|
|
* symbols.h (colon): Change return value in declaration.
|
|
* subsegs.c (subseg_set_rest): Clear mri_common_symbol.
|
|
(subseg_set (both versions)): Likewise.
|
|
* frags.c (frag_more): Warn if mri_common_symbol is not NULL.
|
|
* write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
|
|
(write_object_file): Discard sy_mri_common symbols.
|
|
(fixup_segment): Change relocations against sy_mri_common symbols
|
|
to be against the common symbol itself.
|
|
* config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
|
|
(fixup_segment): Change relocations against sy_mri_common symbols
|
|
to be against the common symbol itself.
|
|
* config/obj-aout.c (obj_crawl_symbol_chain): Discard
|
|
sy_mri_common symbols.
|
|
|
|
* doc/c-m68k.texi: Add documentation for CPU specific options, and
|
|
for Motorola syntax.
|
|
|
|
* config/m68k-parse.y (motorola_operand): For (%pc), set mode to
|
|
DISP, not BASE.
|
|
|
|
Tue Aug 8 02:31:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* write.c (relax_align): Add extra padding for linkrelax only if
|
|
LINKER_RELAXING_SHRINKS_ONLY is defined.
|
|
* config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
|
|
* doc/internals.texi (Relaxation): Write up some stuff on linker
|
|
relaxing and LINKER_RELAXING_SHRINKS_ONLY.
|
|
|
|
Mon Aug 7 17:18:10 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/m68k-parse.y: New file: bison grammar for m68k operands,
|
|
including support for Motorola syntax.
|
|
* config/m68k-parse.h: New file; definitions shared between
|
|
m68k-parse.y and tc-m68k.c.
|
|
* config/tc-m68k.c: Include m68k-parse.h.
|
|
(enum operand_type): Move to m68k-parse.h, where it is named
|
|
m68k_operand_type. Rename all uses. Rearrange somewhat. Add
|
|
FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX
|
|
to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to
|
|
CONTROL. Remove DINDR.
|
|
(struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and
|
|
e_seg fields. Rename e_exp to exp. Rename e_siz to size, and
|
|
change type to enum m68k_size. Change all uses.
|
|
(enum _register): Move to m68k-parse.h, where it is named
|
|
m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7.
|
|
(struct m68k_op): Move to m68k-parse.h. Change all fields.
|
|
(seg): Don't define.
|
|
(add_exp): Remove.
|
|
(FAIL, OK): Remove.
|
|
(m68k_reg_parse): Move to m68k-parse.y, and rewrite.
|
|
(SKIP_WHITE, SKIP_W): Remove.
|
|
(try_moto_index, try_index): Remove.
|
|
(m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
|
|
(main): Remove obsolete test function.
|
|
(m68k_ip): Extensive changes to use new grammar.
|
|
(get_regs): Remove.
|
|
(crack_operand): m68k_ip_op now returns 0 on success.
|
|
(init_table): Add ssp, zd0-7 and za0-7.
|
|
(md_assemble): Make er const. Correct loop over operands when
|
|
looking for error message.
|
|
(md_begin): Set alt_notend_table for '(' and '@'.
|
|
(get_num): Expression is already parsed. Don't set seg.
|
|
* configure.in: If cpu_type is m68k, put m68k-parse.o in
|
|
extra-objects.
|
|
* configure: Rebuild.
|
|
* Makefile.in (DISTSTUFF): Add m68k-parse.c.
|
|
(BISON): Use ../bison/bison if it exists.
|
|
(BISONFLAGS): Define as empty.
|
|
(TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
|
|
(m68k-parse.c, m68k-parse.o): New targets.
|
|
|
|
start-sanitize-sh3e
|
|
Mon Aug 7 02:54:20 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-sh.c (parse_reg): Handle new FP registers.
|
|
(get_specific): Handle new operand types.
|
|
|
|
end-sanitize-sh3e
|
|
Fri Aug 4 12:29:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* expr.c (op_encoding): Make non-const. Don't set '"' to
|
|
O_bit_not.
|
|
(expr_begin): Set op_encoding['"'] in MRI mode.
|
|
|
|
Wed Aug 2 18:39:43 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
|
|
(struct m68k_incant): Change m_operands field to be const.
|
|
(struct m68k_it): Change args field to be const.
|
|
(m68k_ip): Change local variable s to be const.
|
|
(opcode_ptr): Remove.
|
|
(md_begin): Use m68k_numopcodes, not numopcodes. Use
|
|
m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not
|
|
numaliases.
|
|
|
|
Tue Aug 1 17:35:26 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
|
|
"sfcr", and "dfcr" as synonyms for existing entries.
|
|
(md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
|
|
(md_parse_option): Removed unused locals i and arch. Change type
|
|
of arch (another one) to unsigned long.
|
|
(tc_coff_sizemachdep): Add return after abort to avoid warning.
|
|
|
|
Initial support for MRI style labels and expressions.
|
|
* as.h (flag_mri): Declare/define.
|
|
* as.c (show_usage): Mention -M and its synonym --mri.
|
|
(parse_args): Add 'M' to std_shortopts. Add "mri" to
|
|
std_longopts. Set flag_mri if -M is seen.
|
|
(main): Call parse_args before input_scrub_begin. Call
|
|
expr_begin.
|
|
* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
|
|
mode. Do set lex for ';', '*', and '!' in MRI mode.
|
|
(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
|
|
In MRI mode, keep spaces between labels and colons. Remove MRI
|
|
ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use
|
|
'!' or '*' as comment characters even if they are in
|
|
comment_chars.
|
|
* read.h (lex_type): No longer const.
|
|
* read.c: Include libiberty.h.
|
|
(lex_type): No longer const.
|
|
(read_begin): In MRI mode, set lex_type of '?' to 3.
|
|
(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
|
|
ds.l, ds.w, and xdef.
|
|
(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
|
|
for MRI mode at runtime rather than compile time. Handle the EQU
|
|
pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo.
|
|
Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
|
|
runtime.
|
|
(cons): In MRI mode, always call parse_mri_cons rather than
|
|
TC_PARSE_CONS_EXPRESSION.
|
|
(parse_mri_cons): Always compile, not just when MRI is defined.
|
|
Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
|
|
not a string constant. Handle A and E modifiers.
|
|
(float_cons): Accept :xxxx, where the x's are hex digits.
|
|
* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
|
|
(expr_begin): Declare.
|
|
* expr.c (integer_constant): In MRI mode, if the base was not
|
|
specified, look for a suffix on the number to set the base.
|
|
(mri_char_constant): New static function.
|
|
(operand): Remove MRI ifdef. In MRI mode, do various things: Pass
|
|
0 as the base when calling integer_constant if there was no
|
|
prefix. Check for a hex constant suffix if when a leading '0' is
|
|
seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and
|
|
A'chars'. Handle MRI character constants. Treat '"' as the
|
|
unary bitwise not operator. Treat $ as the program counter, or as
|
|
the prefix for a hex constant. Treat % as the prefix for a binary
|
|
constant and @ as the prefix for an octal constant. Treat : as
|
|
the prefix for a hex constant.
|
|
(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
|
|
(op_rank): No longer const. Change rank values.
|
|
(expr_begin): New function.
|
|
(operator): New static function.
|
|
(expr): Use operator. Don't bother to mention the operator in
|
|
warnings. Remove bogus #if 0 code. Handle new operatorT values.
|
|
* atof-generic.c (atof_generic): In MRI mode, accept underscores
|
|
around the exponent in floating point numbers.
|
|
* symbols.h (symbols_case_sensitive): Declare.
|
|
* symbols.c (symbols_case_sensitive): New global variable.
|
|
(symbol_create): Check symbols_case_sensitive.
|
|
(symbol_find_base): Likewise.
|
|
(resolve_symbol_value): Handle new operatorT values.
|
|
(print_expr_1): Likewise.
|
|
(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
|
|
are local.
|
|
|
|
Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>
|
|
|
|
* tc-sh.c (md_convert_frag): Make some error messages more
|
|
explict.
|
|
|
|
Mon Jul 31 21:40:47 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
Sat Jul 29 18:55:23 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (COPY_SHORT, COPY_LONG, PUT_SHORT, PUT_LONG):
|
|
Make expansion be safe for use in expressions.
|
|
(PUT_COUNTED_STRING): Bracket expansion with `do {...} while (0)'
|
|
rather than just `{...}'.
|
|
|
|
Mon Jul 31 18:19:26 1995 steve chamberlain <sac@slash.cygnus.com>
|
|
|
|
* gasp.c (main): Parse -I option.
|
|
(do_include): Look through include list.
|
|
* gasp.c (change_base): Don't modify numbers in strings.
|
|
|
|
Mon Jul 31 12:16:21 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define. From Niclas
|
|
Andersson <nican@ida.liu.se>.
|
|
|
|
Thu Jul 27 20:47:12 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* config/obj-coff.c (fixup_segment): Don't do further pcrel
|
|
processing after converting difference of two symbols in the
|
|
same segment. From Jim Wilson.
|
|
|
|
* configure.in (i386-*-linuxoldld): Add as synonym for
|
|
i386-*-linux*aout*. From Fred Fish.
|
|
* configure: Regenerated.
|
|
|
|
Thu Jul 27 16:14:56 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (enum ps_type {ps_TEXT,ps_DATA,ps_COMMON,
|
|
ps_CONST}): New constants.
|
|
(VMS_Psect_Spec): Use them instead of literal strings.
|
|
(vms_write_object_file, global_symbol_directory): Adjust callers.
|
|
|
|
Wed Jul 26 18:31:35 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (const_flag): Change from char to unsigned char.
|
|
* config/obj-vms.h (const_flag): Ditto.
|
|
(struct nlist): Replace union n_un and n_un.{n_name,n_next,n_strx}
|
|
fields with just n_name; delete field n_value; change n_other from
|
|
char to unsigned char and n_desc from short to int; insert explicit
|
|
padding for alignment.
|
|
|
|
Mon Jul 24 20:06:17 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* subsegs.h (struct seg_info_trash): Make bitfield types valid.
|
|
|
|
* config/obj-coff.c (fixup_segment): Local add_number should not
|
|
be declared register since its address is taken for
|
|
MD_APPLY_FIX3.
|
|
|
|
Fri Jul 21 15:28:18 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
Split huge vms_write_object_file routine into managable pieces.
|
|
|
|
* config/obj-vms.c (vms_fixup_text_section, synthesize_data_segment,
|
|
vms_fixup_data_section, global_symbol_directory, local_symbols_DST,
|
|
vms_build_DST): New routines.
|
|
(vms_write_object_file): Call them.
|
|
(struct vms_obj_state): New file scope variable used by the above.
|
|
|
|
Mon Jul 24 14:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-sh.c (md_pseudo_table): Add "uses".
|
|
(s_uses): New static function.
|
|
(sh_coff_frob_file): New function.
|
|
(md_convert_frag): Call subseg_change before calling fix_new.
|
|
(sh_handle_align): New function.
|
|
(SWITCH_TABLE): Define.
|
|
(sh_force_relocation): New function.
|
|
(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
|
|
(sh_coff_reloc_mangle): Likewise. Also handle switch table
|
|
entries.
|
|
* config/tc-sh.h (HANDLE_ALIGN): Define.
|
|
(sh_handle_align): Declare.
|
|
(TC_FORCE_RELOCATION): Define.
|
|
(sh_force_relocation): Declare.
|
|
(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
|
|
(tc_frob_file): Define.
|
|
(sh_coff_frob_file): Declare.
|
|
* config/obj-coff.c (write_object_file): Call tc_frob_file if it
|
|
is defined.
|
|
(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
|
|
(TC_FORCE_RELOCATION): Define if not defined.
|
|
(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
|
|
clear the symbol fields of fixP.
|
|
|
|
Fri Jul 21 22:38:00 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
|
|
relocation.
|
|
(md_apply_fix3): Ditto.
|
|
|
|
Thu Jul 20 13:00:56 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
|
|
since seg is a macro name in this file.
|
|
|
|
* configure.in (arm-*-riscix*): Don't set emulation.
|
|
|
|
Wed Jul 19 16:08:29 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/obj-coff.h (TE_PE): Delete.
|
|
* config/tc-arm.h (BYTE_ORDER): Delete.
|
|
(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
|
|
(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
|
|
* config/tc-arm.c (byte_order): Delete.
|
|
(md_number_to_chars): Reference target_big_endian, not byte_order.
|
|
(md_chars_to_number): Likewise.
|
|
(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
|
|
(md_parse_options): Recognize -EB/-EL.
|
|
(md_show_usage): List -EB/-EL.
|
|
|
|
Wed Jul 19 11:49:25 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* gasp.c (process_assigns): Use toupper before comparing against
|
|
upper case letter.
|
|
(whatcond): Likewise.
|
|
|
|
* config/tc-sh.c (sh_relax): Rename from relax, and make global.
|
|
Renamed all uses.
|
|
(insert): Pass a size of 2, not 4.
|
|
(build_relax): Remove unused len variable.
|
|
(md_show_usage): Mention -little option.
|
|
(md_convert_frag): Add segT argument. Rewrite to generate relocs
|
|
rather than to generate complete instructions here.
|
|
(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
|
|
changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP
|
|
and R_SH_PCDISP8BY2.
|
|
(md_pcrel_from): Don't subtract 1, add 2.
|
|
(tc_coff_fix2rtype): Remove.
|
|
(sh_coff_reloc_mangle): New function.
|
|
* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
|
|
(sh_relax): Declare.
|
|
(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
|
|
(TC_RELOC_MANGLE): Define.
|
|
(sh_coff_reloc_mangle): Declare.
|
|
(tc_coff_sizemachdep): Declare.
|
|
* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
|
|
declaration.
|
|
* write.c (cvt_frag_to_fill): Add sec argument to non
|
|
BFD_ASSEMBLER version. Pass it to md_convert_frag.
|
|
(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
|
|
* config/obj-coff.c (do_relocs_for): Pass segment info to
|
|
TC_RELOC_MANGLE.
|
|
(fixup_mdeps): Pass segment type to md_convert_frag.
|
|
* config/tc-a29k.c (md_convert_frag): Add segT argument.
|
|
* config/tc-h8300.c (md_convert_frag): Likewise.
|
|
* config/tc-h8500.c (md_convert_frag): Likewise.
|
|
* config/tc-i386.c (md_convert_frag): Likewise.
|
|
* config/tc-i860.c (md_convert_frag): Likewise.
|
|
* config/tc-i960.c (md_convert_frag): Likewise.
|
|
* config/tc-m68k.c (md_convert_frag): Likewise.
|
|
* config/tc-m88k.h (md_convert_frag): Likewise.
|
|
* config/tc-ns32k.c (md_convert_frag): Likewise.
|
|
* config/tc-rce.c (md_convert_frag): Likewise.
|
|
* config/tc-tahoe.c (md_convert_frag): Likewise.
|
|
* config/tc-vax.c (md_convert_frag): Likewise.
|
|
* config/tc-w65.c (md_convert_frag): Likewise.
|
|
* config/tc-z8k.c (md_convert_frag): Likewise.
|
|
* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
|
|
* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
|
|
* config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
|
|
* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
|
|
* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
|
|
|
|
Mon Jul 17 15:02:54 1995 Pat Rankin <rankin@eql.caltech.edu>
|
|
|
|
* config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
|
|
scope variables.
|
|
(Define_Routine, Define_Local_Symbols): Take Current_Routine and
|
|
Text_Psect as arguments.
|
|
(VMS_DBG_Define_Routine): Delete.
|
|
(VMS_TBT_Block_End): Change `Size' argument from int to valueT.
|
|
(vms_write_object_file: text and data fixup loops): Difference
|
|
of two symbols has type offsetT rather than int; convert with
|
|
md_number_to_chars before passing to VMS_Store_Immediate_Data.
|
|
(vms_write_object_file: debug symbol loop): Call Define_Routine
|
|
instead of VMS_DBG_Define_Routine.
|
|
|
|
Sat Jul 15 00:01:35 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
|
|
compiler can mark which relocs not to complain about with
|
|
-mrelocatable.
|
|
(ppc_elf_validate_fix): Add .fixup to sections not to complain
|
|
about, and also don't complain for BFD_RELOC_CTOR relocations in
|
|
writable non-code segments.
|
|
(md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
|
|
|
|
Fri Jul 14 19:54:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
Add support for SPARC SunOS PIC:
|
|
* config/tc-sparc.h (sparc_pic_code): Always declare, not just
|
|
when OBJ_ELF.
|
|
(TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
|
|
(tc_fix_adjustable): New definition for OBJ_AOUT.
|
|
* config/tc-sparc.c (sparc_pic_code): Always define, not just when
|
|
OBJ_ELF.
|
|
(md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In
|
|
BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
|
|
symbol when PIC.
|
|
(tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
|
|
well as when OBJ_ELF.
|
|
(md_shortopts): If OBJ_AOUT, include `k'.
|
|
(md_parse_option): If OBJ_AOUT, handle 'k'.
|
|
(md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
|
|
(md_pcrel_from): Don't add in size for an external symbol when
|
|
PIC.
|
|
|
|
start-sanitize-arc
|
|
Fri Jul 14 10:26:43 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.c (byte_order): Provide explicit initial value.
|
|
end-sanitize-arc
|
|
|
|
Thu Jul 13 21:16:43 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
|
|
* write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
|
|
symbols in a fixup where a defined symbol is subtracted from an
|
|
undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
|
|
(fixup_segment): Do nothing for the difference of two symbols if
|
|
UNDEFINED_DIFFERENCE_OK is defined.
|
|
|
|
Wed Jul 12 23:33:40 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
|
|
|
|
Wed Jul 12 01:12:12 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com>
|
|
|
|
* write.c (fix_new): Use int, not short int, for argument type.
|
|
(fix_new_exp): Ditto.
|
|
|
|
* configure.in (arm-*-riscix*): Don't set emulations.
|
|
|
|
* config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
|
|
wasn't previously defined.
|
|
(s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
|
|
(nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
|
|
(macro_build) [!USE_STDARG]: Don't use variadic prototype.
|
|
(mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
|
|
ECOFF debugging symbols.
|
|
|
|
* emul.h (struct emulation): Use unsigned, not unsigned char, for
|
|
bitfields.
|
|
* obj.h (struct format_ops): Likewise.
|
|
|
|
* config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
|
|
udata.p, not udata.
|
|
|
|
Tue Jul 11 14:30:19 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* doc/c-mips.texi: Document -m4010 and -mno-4010.
|
|
|
|
Tue Jul 11 14:28:55 1995 Jeff Spiegel <jeffs@lsil.com>
|
|
|
|
* config/tc-mips.c (mips_4010): New static variable.
|
|
(interlocks): New static variable.
|
|
(md_begin): Check for a cpu of "r4010". Set mips_4010 correctly.
|
|
If mips_4650 or mips_4010, set interlocks.
|
|
(append_insn): Check interlocks, not mips_4650.
|
|
(mips_emit_delays): Likewise.
|
|
(mips_ip): Only permit INSN_4010 instructions if mips_4010.
|
|
(md_longopts): Add "m4010" and "no-m4010".
|
|
(md_parse_option): Accept -mcpu=r4010. Handle -m4010 and
|
|
-no-m4010.
|
|
(md_show_usage): Document -m4010 and -no-m4010.
|
|
|
|
Tue Jul 11 13:22:50 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* ecoff.c (struct efdr): Add new field fake.
|
|
(init_file): Initialize fake.
|
|
(add_file): Add new parameter fake. Change all callers.
|
|
(ecoff_build_debug): Don't warn about a missing .end for a fake
|
|
file.
|
|
|
|
Mon Jul 10 16:01:31 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* doc/as.texinfo: Split out most cpu chapters...
|
|
* doc/c-*.texi: ...to here.
|
|
|
|
* read.c (po_hash): Now static.
|
|
|
|
Mon Jul 10 13:47:22 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
Based on patches from H.J. Lu <hjl@nynexst.com>:
|
|
* config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
|
|
Accept pointer to value and segment. Fix OBJ_ELF PCREL case to
|
|
handle global defined symbols correctly.
|
|
(md_apply_fix): Remove both versions.
|
|
* config/tc-i386.h (MD_APPLY_FIX3): Define.
|
|
|
|
* configure.in: When switching on ${cpu}, use ${cpu}, not
|
|
$[target_cpu}, in default case.
|
|
* configure: Rebuild.
|
|
|
|
Sat Jul 8 13:27:55 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* write.c (fixup_segment): Call resolve_symbol_value on
|
|
sub_symbolP, in case it isn't in the symbol table.
|
|
|
|
Fri Jul 7 11:17:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
|
|
|
|
* config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
|
|
BSF_FUNCTION.
|
|
(symbol_globalP, symbol_global_lastP): New global variables.
|
|
(yank_symbols): Sort defined global symbols to the end, just
|
|
before the undefined symbols.
|
|
(glue_symbols): Add two arguments, and use them instead of
|
|
referring directly to global variables.
|
|
(crawl_symbols): Call glue_symbols twice, once for defined globals
|
|
and once for undefined. Add corresponding know calls.
|
|
|
|
* app.c (do_scrub_next_char): Always accept \v. Don't make it
|
|
conditional on BACKSLASH_V.
|
|
* read.c (next_char_of_string): Likewise.
|
|
* config/obj-bout.h (BACKSLASH_V): Don't define.
|
|
* config/tc-mips.h (BACKSLASH_V): Don't define.
|
|
|
|
Add SPARC ELF PIC support.
|
|
* write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
|
|
not fixP->fx_r_type.
|
|
* config/tc-sparc.c (sparc_pic_code): New global variable.
|
|
(md_apply_fix): If generating PIC, adjust fx_addnumber for any non
|
|
PC relative reloc.
|
|
(tc_gen_reloc): If generating PIC, adjust various reloc types.
|
|
Remove fx_pcrel assert, since it is no longer true.
|
|
(md_parse_option): Handle -K PIC.
|
|
* config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
|
|
(TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
|
|
(tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
|
|
* config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
|
|
reloc type.
|
|
|
|
* Makefile.in (Makefile): Add dependency on conf.in, so that conf
|
|
is rebuilt when conf.in changes.
|
|
|
|
Thu Jul 6 16:49:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* All files: Updated FSF address.
|
|
|
|
Thu Jul 6 16:30:34 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
|
|
|
* ecoff.c (add_file): Don't collapse multiple .file commands into
|
|
a single file structure.
|
|
(ecoff_build_lineno): Set ilineBase to sum of previous file's
|
|
ilineBase and cline.
|
|
|
|
Thu Jul 6 12:54:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
|
|
* as.c (listing_filename): New static variable.
|
|
(show_usage): Mention -a=file.
|
|
(parse_args): Support = option of -a to set name of listing file.
|
|
(main): Pass listing_filename to listing_print.
|
|
* listing.c (list_file): New static variable.
|
|
(various): Replace printf with fprintf to list_file.
|
|
(listing_print): If name argument is not NULL, open it as
|
|
list_file.
|
|
* doc/as.texinfo, doc/as.1: Document -a=file.
|
|
|
|
* config/tc-sparc.c (s_reserve): Don't permit redefinition, even
|
|
if the symbol was already in bss_section. Fix warning message.
|
|
|
|
* listing.c (struct file_info_struct): Rename end_pending field to
|
|
at_end.
|
|
(file_info): Initialize at_end, not end_pending.
|
|
(buffer_line): If at_end set, just return immediately. Don't
|
|
worry about end_pending cases. Set at_end when EOF is read.
|
|
(print_source): Check at_end, not end_pending.
|
|
(listing_listing): Likewise.
|
|
|
|
* config/tc-alpha.h (alpha_do_align): Don't declare.
|
|
(md_do_align): Don't define.
|
|
(tc_frob_label): Define.
|
|
(alpha_define_label): Declare.
|
|
(md_flush_pending_output): Define.
|
|
(alpha_flush_pending_output): Declare.
|
|
* config/tc-alpha.c (insn_label): New static variable.
|
|
(auto_align): New static variable.
|
|
(md_pseudo_table): Add cases for .text, .data, .align, .byte,
|
|
.hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
|
|
and .single. Change .t_floating, .s_floating, .f_floating,
|
|
.g_floating, and .d_floating to use s_alpha_float_cons rather than
|
|
float_cons.
|
|
(s_alpha_text, s_alpha_data): New static functions.
|
|
(s_rdata, s_sdata): Clear insn_label and set auto_align.
|
|
(s_gprel32): If auto_align, align. Clear insn_label.
|
|
(emit_insn): Clear insn_label.
|
|
(s_alpha_align): New static function.
|
|
(alpha_align): Make static. Take label argument.
|
|
(alpha_flush_pending_output): New static function.
|
|
(s_alpha_cons, s_alpha_float_cons): New static functions.
|
|
(alpha_define_label): New function.
|
|
|
|
Wed Jul 5 22:49:31 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* conf.in: Regenerate with autoreconf.
|
|
|
|
Mon Jul 3 19:47:53 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (vms_resolve_symbol_redef): Use full prototype.
|
|
(vms_check_for_special_label, tc_frob_label): Move them to group
|
|
with other prototypes.
|
|
[WANT_VMS_OBJ_DEFS]: Only define the many OBJ_x, DBG_x, and DST_x
|
|
macros when this is defined.
|
|
* config/obj-vms.c: Fully prototype all local functions.
|
|
[symbolS, fragS]: Use consistently instead of their struct tags.
|
|
[WANT_VMS_OBJ_DEFS]: Define this.
|
|
(s_const): Make definition correctly match actual usage.
|
|
(VMS_stab_parse): Make `expected_type' arg be int rather than char.
|
|
(get_VMS_time_on_unix): Define as `static void'.
|
|
(hash_string): Make definition match actual usage; argument is
|
|
`char const *' rather than `unsigned char *'.
|
|
(VMS_Case_Hack_Symbol, VMS_Modify_Psect_Attributes, VMS_Psect_Spec,
|
|
VMS_Global_Symbol_Spec): Declare string args as `const char *'.
|
|
[IS_GXX_VTABLE]: New macro.
|
|
(vms_write_object_file: GSD loop): Use it.
|
|
(vms_write_object_file: data segment): Reorganize `fill' loop.
|
|
|
|
Wed Jul 5 12:01:49 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
|
|
(md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since
|
|
PIC code is not currently supported.
|
|
|
|
* as.c (parse_args): Change std_shortopts to be an array rather
|
|
than a constant string. Only include 'K' if WORKING_DOT_WORD is
|
|
not defined. Only check for 'K' in that case as well.
|
|
* as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
|
|
is not defined.
|
|
|
|
* conf.in: Add undef of HAVE_SBRK.
|
|
|
|
* config/obj-coff.c (obj_coff_line): Call listing_source_line, in
|
|
both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
|
|
|
|
* symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
|
|
(S_CLEAR_EXTERNAL): Likewise.
|
|
(S_SET_WEAK): Warn if symbol is global.
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
|
|
to put an undefined symbol into a set.
|
|
|
|
* Makefile.in: Remove @configure_input@; it's not needed in
|
|
files named Makefile.
|
|
|
|
* config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
|
|
explicit pseudo-op works, while continuing to treat "set" as an
|
|
instruction.
|
|
|
|
* ecoff.c (ecoff_debugging_seen): New global variable.
|
|
(ecoff_directive_def): Set ecoff_debugging_seen.
|
|
(ecoff_stab): Likewise.
|
|
* ecoff.h: Make idempotent.
|
|
(ecoff_debugging_seen): Declare.
|
|
* config/tc-mips.c: Include ecoff.h.
|
|
(mips_debug): New static variable.
|
|
(s_stringer, s_mips_space): Remove unneeded declarations.
|
|
(md_parse_option): In case 'g', set mips_debug to debugging level.
|
|
(mips_local_label): New function.
|
|
* tc-mips.h (LOCAL_LABEL): Call mips_local_label.
|
|
(mips_local_label): Declare.
|
|
|
|
Wed Jul 5 00:59:22 1995 Fred Fish (fnf@cygnus.com)
|
|
|
|
* as.c (main): Only use sbrk when HAVE_SBRK defined.
|
|
* configure.in: Add test for sbrk.
|
|
* configure: Regenerate using autoconf 2.4.
|
|
|
|
Mon Jul 3 15:58:16 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
|
|
* config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
|
|
relocations for the difference of two (possibly external)
|
|
symbols.
|
|
(hppa_fix_adjustable): For SOM, reject reductions involving
|
|
the difference of two symbols.
|
|
(hppa_force_relocation): Force relocations for expressions
|
|
involving the difference of two symbols.
|
|
|
|
Mon Jul 3 14:22:59 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
* configure[.in] (i386-*-win32): New host and target.
|
|
|
|
Thu Jun 29 17:25:43 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
Support for long filenames non-bfd coff.
|
|
* config/obj-coff.c (filename_list_head, filename_list_tail): New.
|
|
(yank_symbols): Notice and record filenames which are too long.
|
|
(w_strings): Write out filename strings.
|
|
(c_dot_file_symbols): Put long filenames onto list.
|
|
|
|
Wed Jun 28 17:33:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
* config/obj-coff.c (fixup_segment): PE doesn't use
|
|
the strange common symbol format that other 386s formats
|
|
do.
|
|
* config/tc-i386.c (md_begin): If LEX_AT defined then
|
|
'@' is in the set of identifiers.
|
|
(i386_operand): If LEX_AT, then don't look for @goto stuff.
|
|
* config/te-pe.h: Define LEX_AT.
|
|
|
|
Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com>
|
|
|
|
* doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP
|
|
numbers are for the standard emulation code.
|
|
(SH Floating Point): Ditto.
|
|
(Overview): Describe new --emulation option for MIPS.
|
|
* doc/*.m4: Deleted.
|
|
|
|
Thu Jun 22 19:26:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
|
|
|
|
* configure.in: Added i386-*-moss* target.
|
|
|
|
Thu Jun 22 14:41:23 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* write.c (write_object_file): Cast decode_local_label_name
|
|
argument to char * to avoid warning.
|
|
|
|
Wed Jun 21 18:07:59 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
|
|
* config/tc-m68k.c (insword): Increment the frag offsets.
|
|
(struct m68k_it): Add reloc[].pcrel_fix field to hold pc-rel
|
|
fixup.
|
|
(add_fix): Accept additional parameter, the pc-rel fixup. All
|
|
callers changed. Fix offset address if width == 'b'.
|
|
(m68k_ip) [case AINDX]: Allow explicit size spec. Don't make the
|
|
outer displacement pc-relative.
|
|
(md_pcrel_from): Make it relative to the first extension word of
|
|
the operand.
|
|
(opcode_ptr): Make it a macro if DO_BREAK_UP_BIG_DECL is
|
|
undefined.
|
|
(md_convert_frag_1): Don't reference fragP->fr_opcode[2..].
|
|
(md_estimate_size_before_relax) [case TAB (FBRANCH, SZ_UNDEF)]:
|
|
Turn on long bit.
|
|
(m68k_ip) [case 'C']: Don't set set long bit, set it in the opcode
|
|
table.
|
|
(md_estimate_size_before_relax) [case TAB (PCINDEX, SZ_UNDEF)]:
|
|
Variable part increases by four, not six.
|
|
* write.c (fixup_segment) [TC_M68K]: Don't do further pcrel
|
|
processing after converting difference of two symbols in the
|
|
same segment.
|
|
|
|
* write.c (fixup_segment): Don't conditionalize the pcrel fix on
|
|
TC_M68K.
|
|
|
|
* config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#"
|
|
value, don't shift it an extra time.
|
|
|
|
Wed Jun 21 14:18:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
* gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
|
|
string compares.
|
|
|
|
Tue Jun 20 14:55:02 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-coff.c (write_object_file): Cast time() argument to
|
|
time_t *.
|
|
|
|
Tue Jun 20 12:00:53 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last
|
|
change.
|
|
|
|
Mon Jun 19 15:27:17 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory
|
|
from frag_more calls.
|
|
|
|
Thu Jun 15 16:53:37 1995 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* config/obj-coff.c: Don't use "bfd/" when including libbfd.h
|
|
and libcoff.h.
|
|
(fill_section): Call PROGRESS.
|
|
* Makefile.in (INCLUDES): Add bfd srcdir.
|
|
|
|
* mpw-config.in: Add bfd_gas flag and set for each config.
|
|
(i386-unknown-go32, m68k-unknown-coff): Recognize.
|
|
* mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to
|
|
config.h.
|
|
|
|
Thu Jun 15 10:04:26 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT.
|
|
(FAKE_LABEL_NAME): Likewise.
|
|
|
|
Mon Jun 12 22:25:39 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): Check for invalid register in single
|
|
precision fmpyadd and fmpysub instructions.
|
|
|
|
Thu Jun 8 19:33:02 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c (myname): Delete all references.
|
|
(VMS_stab_parse, Write_VMS_MHD_Records, VMS_Case_Hack_Symbol):
|
|
Replace printf calls with as_tsktsk.
|
|
(PUT_LONG, PUT_SHORT): Use COPY_LONG, COPY_SHORT.
|
|
(VMS_Store_Immediate_Data): Move second buffer capacity check
|
|
below bottom of loop; first check at top suffices for loop itself.
|
|
(find_file): Remove redundant pointer checks in first two loops;
|
|
replace third loop with pointer to last list element determined
|
|
in first loop.
|
|
|
|
start-sanitize-arc
|
|
Thu Jun 8 11:44:35 1995 Doug Evans <dje@chestnut.cygnus.com>
|
|
|
|
* config/tc-arc.h (MD_APPLY_FIX3): Define.
|
|
* config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix.
|
|
Undo effects of md_pcrel_from if symbol is in another section.
|
|
end-sanitize-arc
|
|
|
|
Tue Jun 6 13:53:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-sparc.c (sparc_ip): Handle defined absolute symbols as
|
|
ASI values.
|
|
|
|
* config/obj-vms.c (vms_write_object_file, case N_DATA): Use
|
|
strcmp against FAKE_LABEL_NAME instead of checking third
|
|
character. (Suggested by Pat Rankin.)
|
|
|
|
Mon Jun 5 20:10:46 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
Add support for N_ABS and N_ABS|N_EXT type symbols.
|
|
|
|
* config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}):
|
|
New macros for local symbols (from <lsydef.h> and <envdef.h>).
|
|
* config/obj-vms.c (Current_Environment): New file-scope variable.
|
|
(VMS_Local_Environment_Setup): New routine.
|
|
(GBLSYM_LCL): New macro.
|
|
(VMS_Global_Symbol_Spec): Handle local symbols too.
|
|
(VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols.
|
|
(VMS_Emit_Globalvalues): Handle local and global absolute symbols.
|
|
(VMS_Store_PIC_Symbol_Reference): Ditto.
|
|
(vms_write_object_file: GSD symbol loop): Ditto.
|
|
|
|
Mon Jun 5 16:10:40 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
* config/tc-arm.h (LOCAL_LABELS_FB): Define.
|
|
|
|
Mon Jun 5 02:17:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
* configure.in (i386-*-gnu*): Always use GNU ELF config.
|
|
|
|
Wed May 31 17:49:18 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c (obj_crawl_symbol_chain): Update *symbolPP
|
|
in `else' clause when removing a symbol. Also, revise comments
|
|
to match the code.
|
|
(vms_write_object_file (GSD symbol loop, case N_DATA)): Never
|
|
output symbol definitions for local numeric labels.
|
|
|
|
Tue May 30 18:29:10 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
|
|
|
* configure.in (architecture variants, cases armeb and arm*): Remove
|
|
spaces round assignment to endian.
|
|
|
|
Tue May 30 12:31:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* write.c (write_object_file): Check for undefined local dollar
|
|
and fb labels.
|
|
|
|
* symbols.c (decode_local_label_name): Extract instance number
|
|
from the correct location.
|
|
|
|
Sat May 27 21:28:49 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
|
|
|
* config/te-dpx2.h: Include obj-format.h.
|
|
(COFF_MAGIC): Renamed from FILE_HEADER_MAGIC.
|
|
|
|
Wed May 24 13:45:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
* configure, configure.in, config/obj-coff.c, config/obj-coff.h:
|
|
Add support for ARM pe
|
|
|
|
Tue May 23 17:00:32 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16
|
|
and BFD_RELOC_SPARC_WDISP19.
|
|
|
|
Tue May 23 19:18:33 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* as.c (parse_args) [! USE_EMULATIONS]: Always print an error
|
|
message.
|
|
|
|
* doc/internals.texi: Document obj_app_file and
|
|
TARGET_BYTES_BIG_ENDIAN.
|
|
|
|
Mon May 22 20:03:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* ecoff.c (ecoff_stab): Add extra leading argument, for 4 May
|
|
change.
|
|
* ecoff.h (ecoff_stab): Fix declaration.
|
|
* obj.h (format_ops.process_stab): Include prototype.
|
|
* config/obj-elf.h (OBJ_PROCESS_STAB): Pass through seg argument.
|
|
* config/obj-ecoff.h (OBJ_PROCESS_STAB): Ditto.
|
|
|
|
* config/e-mipself.c (mipself): New emulation mode, doesn't change
|
|
endianness from configured default.
|
|
* config/e-mipsecoff.c (mipsecoff): Ditto.
|
|
* configure.in (mips ecoff/elf targets): Include them.
|
|
* as.c (mipself, mipsecoff): Declare.
|
|
|
|
* as.c (emulation_name): New variable.
|
|
(select_emulation_mode): Set emulation_name. Don't change argv.
|
|
(parse_args): Handle --emulation; complain if the supplied name
|
|
isn't what select_emulation_name came up with.
|
|
|
|
start-sanitize-arc
|
|
Mon May 22 16:56:58 1995 Doug Evans <dje@chestnut.cygnus.com>
|
|
|
|
* config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols.
|
|
end-sanitize-arc
|
|
|
|
Sun May 21 21:36:17 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Reverse changes from Dec. 19th which
|
|
changed the way unwinds were built for ELF. Rely on relocation
|
|
symbol reductions to avoid placing the end of function marker
|
|
symbols into the object file's symbol table.
|
|
|
|
Sat May 20 12:31:36 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
Added improved VMS support from Pat Rankin:
|
|
|
|
Fri 19 May 16:51:40 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (AOUT_STABS): Define.
|
|
|
|
* config/obj-vms.c (fpush, rpush): New routines.
|
|
(push): Replaced by the above.
|
|
(find_symbol): Slight reorganization to expose tail recursion.
|
|
|
|
Fri Mar 17 18:40:36 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* Makefile.in (VMS_OTHER_OBJS): delete this.
|
|
* vmsconf.sh (make-gas.com): build ../libiberty/liberty.olb
|
|
first if necessary; link gas against it.
|
|
|
|
Fri May 19 16:37:39 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
|
|
|
* gasp.c (istrue): Correctly test for string inequality.
|
|
|
|
Thu May 18 04:25:11 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
|
|
|
|
* config/tc-arm.c (CP_T_{Pre,UD,WB}): Define, bits in co-processor
|
|
instructions.
|
|
([ls]fm_flags): Correct error in bitmasks.
|
|
(cp_address_required_here): Delete second parameter, FLAGS. All
|
|
callers changed. Remove all dead code referring to FLAGS. If
|
|
address is just "[Reg]" then convert into a PRE-INCREMENT UP format.
|
|
(do_fp_ldmstm): Handle full-descending and empty-ascending stack
|
|
formats explicitly.
|
|
|
|
* config/tc-arm.c (internalError): Define.
|
|
(ARM_{1,2,250,3,6,7,7DM,ANY,2UP,ALL,3UP,6UP,LONGMUL}): Define processor
|
|
variants.
|
|
(FPU_{CORE,FPA10,FPA11,NONE,ALL,MEMMULTI}): Define floating point
|
|
variants.
|
|
({CPU,FPU}_DEFAULT): Define.
|
|
(cpu_variant): New variable.
|
|
(asm_flg): Change more_flags to flag_bits.
|
|
Add prototypes for new functions.
|
|
(FLAG_{S,P,B,T,ED,FD,FA,EA,IB,IA,DB,DA,L}): Delete.
|
|
(s_flag[], ldst_flags[], byte_flag[], cmp_flags[], ldm_flags[],
|
|
stm_flags[], lfm_flags[], sfm_flags[], round_flags[], except_flags[],
|
|
cplong_flag[]): New variables.
|
|
(asm_opcode, insns[]): New format, add version support.
|
|
(arm_flg_hsh): Delete.
|
|
(do_mul, do_mla): Remove "Warning" from warning messages.
|
|
(do_arit): Simplify.
|
|
(do_swap): Make error message more appropriate.
|
|
(md_begin): Build hash tables starting at first entry in tables.
|
|
(md_number_to_chars): Cope with big/little-endian selection.
|
|
(md_chars_to_number): New function.
|
|
(md_apply_fix): Rewrite to make endian independent.
|
|
(tc_gen_reloc): Better error messages.
|
|
(md_assemble): Reject opcodes forbidden by the currently selected cpu
|
|
variant. Rewrite handling code for instruction flags.
|
|
(md_shortopts): Add option "m:".
|
|
(md_parse_option): Get the desired cpu/fpu variant.
|
|
|
|
From: David Taylor (dtaylor@armltd.co.uk)
|
|
* configure.in (architecture variants): Check for "armeb" and "arm*",
|
|
set endianness accordingly.
|
|
* read.c (read_a_source_file): New hooks md_start_line_hook and
|
|
md_after_pass_hook.
|
|
* config/arm-{big,lit}.mt: New files
|
|
* config/tc-arm.h ({LITTLE,BIG}_ENDIAN, BYTE_ORDER): Define.
|
|
(TARGET_FORMAT): Select depending on endianness and emulation and
|
|
object format.
|
|
(md_after_pass_hook, md_start_line_hook): Define.
|
|
* config/tc-arm.c: Include subsegs.h, symbols.h and listing.h.
|
|
(shift[]): Add uppper case equivalents.
|
|
(CP_T_[XY], TRANS_BIT): Define.
|
|
(conds[]): Delete initial NULL entry, add "lo" entry as synonym for
|
|
"cc".
|
|
(LONGEST_FLAG, flags[]): Delete.
|
|
(arm_psr): New structure.
|
|
(psrs[]): New variable.
|
|
(PSR_ALL): Define.
|
|
(LONGEST_INST): Bump to 5.
|
|
(LITERAL_MASK, COND_MASK, OPCODE_MASK, DATA_OP_SHIFT): Define.
|
|
(OPCODE_{AND,EOR,SUB,RSB,ADD,ADC,SBC,RSC,TST,TEQ,CMP,CMN,ORR,MOV,BIC,
|
|
MVN}): Define.
|
|
(insns[]): Add smull, umull, smlal, umlal, ldfm, stfm, msr and mrs
|
|
instructions. Add nop and adr pseudo ops.
|
|
(reg_table): Add APCS register name variants.
|
|
(arm_psr_hsh): New hash table.
|
|
(md_pseudo_table): Add "ltorg", "pool", "extend", "ldouble" and
|
|
"packed".
|
|
(MAX_LITERAL_POOL_SIZE): Define.
|
|
(struct literalS): New structure.
|
|
(literals, next_literal_pool_place, lit_pool_num, current_poolP): New
|
|
variables.
|
|
(add_to_lit_pool, symbol_locate, symbol_make_empty): New functions.
|
|
(validate_immediate): Return FAIL on failure.
|
|
(s_ltorg): New function.
|
|
(psr_required_here, psrf_required_here): New functions.
|
|
(cp_address_required_here): New parameter, flag, all callers changed.
|
|
If flag is non-zero, restrict the legal addressing modes.
|
|
(do_nop, do_mrs, do_msr, do_mull): New functions.
|
|
(negate_data_op): New function.
|
|
(data_op2): accept #x,y meaning x rotated right by y, but only when
|
|
suitable constants. If immediate is not legal, try changing the
|
|
opcode.
|
|
(do_adr): New function.
|
|
(do_ldst): accept "ldr reg, =expr". Put expr in the pool if it can't
|
|
be done as an immediate.
|
|
(do_fp_ldst): Use CP_T_[XY], not immediate values.
|
|
(do_fp_ldmstm): New function.
|
|
(arm_psr_parse): New function.
|
|
(output_inst): Use INSN_SIZE in call to md_number_to_chars.
|
|
(md_assemble): Add hack so that "Label instruction" causes alignment of
|
|
the label.
|
|
(arm_after_pass_hook, arm_start_line_hook, arm_frob_symbol): New
|
|
functions.
|
|
|
|
Wed May 17 05:25:16 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_show_usage): Add \'s at end of lines in
|
|
strings for non-GCC compilers.
|
|
|
|
Tue May 16 19:36:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-ecoff.c (ecoff_pop_insert): New function.
|
|
(ecoff_format_ops): Use it.
|
|
(obj_ecoff_frob_symbol): Now static.
|
|
|
|
Wed May 17 00:59:12 1995 Andrew Cagney - aka Noid <cagney@highland.com.au>
|
|
|
|
* config/tc-ppc.c (md_begin): Was assuming that an instruction was
|
|
bigendian and hence 16bit relocs withing instructions would
|
|
ALWAYS be at addresses i+2-i+3. In LE mode it is i+0-i+1.
|
|
|
|
Tue May 16 16:29:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE,
|
|
S_SET_SIZE, S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes,
|
|
OBJ_PROCESS_STAB): New macros.
|
|
* config/tc-mips.c: Protect against redefining them also when
|
|
including obj-elf.h. Test only OBJ_ELF for including elf/mips.h.
|
|
(mips_init_after_args): New function. Set byte_order here.
|
|
(md_parse_option): Not here.
|
|
(byte_order): Don't bother initializing.
|
|
* config/tc-mips.h (mips_init_after_args): Declare.
|
|
(tc_init_after_args): New macro.
|
|
|
|
* read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
|
|
time.
|
|
|
|
Fri May 12 14:17:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
|
|
|
Initial support for PE object files.
|
|
* configure.in, configure (i386-*-pe, i386-*-*nt): Add.
|
|
* config/obj-coff.c (fixup_segment): Cope with PE wierdness.
|
|
* config/obj-coff.h (TE_PE): New target format.
|
|
|
|
Thu May 11 14:58:21 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-elf.c (NEED_ECOFF_DEBUG): Define if ECOFF_DEBUGGING
|
|
was defined by header files. Test in preprocessor conditionals
|
|
instead of ECOFF_DEBUGGING.
|
|
(ecoff_debug_pseudo_table): Make empty if NEED_ECOFF_DEBUG is not
|
|
defined.
|
|
(obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
|
|
elf_frob_file): Only call ecoff routines if NEED_ECOFF_DEBUG is
|
|
defined.
|
|
(elf_ecoff_set_ext, elf_get_extr, elf_set_index): Define only if
|
|
NEED_ECOFF_DEBUG is defined.
|
|
(elf_format_ops): Reference elf_ecoff_set_ext only if
|
|
NEED_ECOFF_DEBUG.
|
|
|
|
Wed May 10 18:09:12 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (OBJS): Include @extra_objects@.
|
|
(obj-elf.o, obj-ecoff.o, e-mipself.o, e-mipsecoff.o): New rules
|
|
for building these independently.
|
|
* emul-target.h, config/e-mipself.c, config/e-mipsecoff.c: New
|
|
files.
|
|
|
|
* acconfig.h (DEFAULT_EMULATION, EMULATIONS, USE_EMULATIONS,
|
|
OBJ_MAYBE_*, I386COFF, M68KCOFF, M88KCOFF): New macros.
|
|
* aclocal.m4 (GAS_UNIQ): New macro.
|
|
|
|
* as.c (emulations, n_emulations) [USE_EMULATIONS]: New variable.
|
|
(select_emulation_mode, default_emul_bfd_name, common_emul_init)
|
|
[USE_EMULATIONS]: New functions.
|
|
(main) [USE_EMULATIONS]: Call select_emulation_mode before other
|
|
initialization.
|
|
* emul.h: New file.
|
|
* as.h [USE_EMULATIONS]: Include it.
|
|
|
|
* configure.in: Handle enable-targets option. Iterate over target
|
|
list, building up a list of object file formats and emulation
|
|
configurations. (Only supports emulations for MIPS CPU so far.)
|
|
If multiple formats are needed, set obj_format to multi and add
|
|
format config files to extra_files. If emulation modes are
|
|
needed, add the relevant files to extra_files.
|
|
|
|
* configure.in: Define I386COFF, M68KCOFF, M88KCOFF for those
|
|
configurations.
|
|
|
|
* ecoff.c (ecoff_generate_asm_lineno): Filename argument now
|
|
points to const.
|
|
* ecoff.h (ecoff_generate_asm_lineno): Updated declaration.
|
|
|
|
* obj.h (obj_read_begin_hook): Don't declare function if it's
|
|
already a macro.
|
|
|
|
* read.c (s_space, cons, stringer): If md_flush_pending_output is
|
|
defined, call it on entry.
|
|
* config/obj-elf.c (obj_elf_section): If md_flush_pending_output
|
|
is defined, call it on entry. If md_elf_section_change_hook is
|
|
defined, call it before returning normally.
|
|
|
|
* read.h (target_big_endian): Declare.
|
|
|
|
* obj.h (struct format_ops): Added new function pointer fields
|
|
ecoff_set_ext, read_begin_hook, symbol_new_hook.
|
|
(ecoff_format_ops, elf_format_ops): Declare.
|
|
* config/obj-elf.c (elf_s_get_size, elf_s_set_size,
|
|
elf_s_get_align, elf_s_set_align, elf_copy_symbol_attributes,
|
|
elf_sec_sym_ok_for_reloc): New functions.
|
|
(elf_format_ops): New variable.
|
|
(elf_frob_symbol): Now takes additional int* argument.
|
|
* config/obj-elf.h (elf_frob_symbol): Update declaration.
|
|
(elf_pop_insert): Declare.
|
|
(obj_pop_insert): Define to call elf_pop_insert.
|
|
* config/obj-ecoff.c (ecoff_sec_sym_ok_for_reloc,
|
|
obj_ecoff_frob_symbol): New functions.
|
|
(ecoff_format_ops): New variable.
|
|
|
|
* config/te-generic.h: If OBJ_HEADER is defined, use it as the
|
|
filename to include in place of obj-format.h.
|
|
* config/te-multi.h: New file, copied from te-generic.h.
|
|
* config/obj-elf.c (OBJ_HEADER): Define it to "obj-elf.h".
|
|
* config/obj-ecoff.c (OBJ_HEADER): Define it to "obj-ecoff.h".
|
|
|
|
* config/obj-elf.c (ECOFF_DEBUGGING): Default to 0.
|
|
(obj_read_begin_hook, obj_symbol_new_hook, elf_frob_symbol,
|
|
elf_frob_file): Test it at run time.
|
|
(obj_ecoff_set_ext, elf_get_extr, elf_set_index): Define
|
|
unconditionally.
|
|
(elf_pseudo_table): Renamed from obj_pseudo_table, now static.
|
|
(ecoff_debug_pseudo_table): Split off into separate table. Define
|
|
it unconditionally.
|
|
(elf_pop_insert): New function.
|
|
* config/obj-elf.h (elf_pop_insert): Declare.
|
|
(obj_pop_insert): New macro.
|
|
(obj_ecoff_set_ext) [!OBJ_MAYBE_ELF]: Define to elf_ecoff_set_ext.
|
|
* config/obj-ecoff.h (obj_ecoff_set_ext): Define to ecoff_set_ext.
|
|
|
|
* config/tc-mips.h: Protect against multiple inclusions.
|
|
(mips_pop_insert): Declare.
|
|
(md_pop_insert): Call it.
|
|
|
|
* config/tc-mips.c: If OBJ_MAYBE_ELF is defined, include
|
|
obj-elf.h, but preserve OUTPUT_FLAVOR and protect some other
|
|
macros from redefinition.
|
|
(ECOFF_DEBUGGING): Default to 0. All references changed to
|
|
run-time tests or made unconditional.
|
|
(s_stringer, s_mips_space, s_elf_section): Deleted.
|
|
(md_pseudo_table): Don't refer to them. Split table into three
|
|
sections, for MIPS, non-ECOFF_DEBUGGING, and ELF.
|
|
(mips_pop_insert): New function.
|
|
(mips_flush_pending_output): New function.
|
|
(mips_enable_auto_align): New function.
|
|
* config/tc-mips.h (mips_pop_insert): Declare.
|
|
(md_pop_insert): New macro.
|
|
(mips_flush_pending_output): Declare.
|
|
(md_flush_pending_output): New macro.
|
|
(mips_enable_auto_align): Declare.
|
|
(md_elf_section_change_hook): New macro, calls
|
|
mips_enable_auto_align.
|
|
|
|
Tue May 9 17:07:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* configure.in: Add little endian PowerPC support.
|
|
* configure: Rebuild with autoconf.
|
|
* config/ppc-big.mt: New file for big endian PowerPC systems.
|
|
* config/ppc-lit.mt: New file for little endian PowerPC systems.
|
|
|
|
* config/tc-ppc.h (target_big_endian): Declare.
|
|
(TARGET_FORMAT): Deal with little and big endian ELF variants.
|
|
(TARGET_BYTES_BIG_ENDIAN): Define as 1, not empty.
|
|
|
|
* config/tc-ppc.c (ppc_big_endian): Delete variable, use
|
|
target_big_endian instead.
|
|
(md_parse_option): Parse -mlittle and -mlittle-endian to use
|
|
little endian support. Parse -mbig and -mbig-endian to use big
|
|
endian support.
|
|
(md_show_usage): Update to reflect current switches.
|
|
(ppc_set_cpu): Recognize powerpcle as little endian PowerPC. Use
|
|
as_fatal, not abort if unknown machine.
|
|
|
|
Tue May 9 10:58:41 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when
|
|
comparing against signed values.
|
|
(hppa_force_relocation): Make "distance" an integer.
|
|
|
|
Tue May 9 00:47:03 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* obj.h (struct format_ops) [BFD_ASSEMBLER]: New type.
|
|
(this_format) [BFD_ASSEMBLER]: Declare new variable, if not
|
|
already defined as a macro.
|
|
|
|
Mon May 8 21:44:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* subsegs.h (seg_info): Provide dummy version for
|
|
non-BFD_ASSEMBLER, non-MANY_SEGMENTS configuration. It should
|
|
never get invoked, but this is easier than conditionalizing some
|
|
of the uses.
|
|
(struct seg_info_trash): Dummy type used by above to make code
|
|
compile.
|
|
|
|
Fri May 5 14:47:13 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define to 1, not
|
|
empty.
|
|
* config/obj-elf.h (SEPARATE_STAB_SECTIONS): Ditto.
|
|
* config/obj-som.h (SEPARATE_STAB_SECTIONS): Ditto.
|
|
|
|
Thu May 4 19:26:55 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* stabs.c (get_stab_string_offset): Always define. If
|
|
SEPARATE_STAB_SECTIONS isn't set, abort.
|
|
(SEPARATE_STAB_SECTIONS): Default to zero.
|
|
(aout_process_stab): New function, split out from s_stab_generic.
|
|
(OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab,
|
|
if not already defined.
|
|
(s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time. If
|
|
it's not set, and OBJ_PROCESS_STAB isn't defined, abort. Always
|
|
pass six arguments to OBJ_PROCESS_STAB.
|
|
* read.h (get_stab_string_offset): Declare unconditionally.
|
|
* config/obj-aout.h (AOUT_STABS): Define.
|
|
* config/obj-bout.h (AOUT_STABS): Define.
|
|
* config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument,
|
|
ignored.
|
|
* config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.
|
|
|
|
* config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
|
|
* config/obj-elf.h (ECOFF_DEBUGGING): Ditto. Test value, not
|
|
whether it's defined.
|
|
|
|
Wed May 3 21:38:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already
|
|
defined, define them to zero.
|
|
* config/tc-*.h, config/te-*.h: If defining them, define them to
|
|
be 1 instead of empty.
|
|
* expr.c (integer_constant, operand): Test them at run time
|
|
instead of compile time.
|
|
* read.c (read_a_source_file): Ditto.
|
|
* symbols.c (colon): Ditto.
|
|
(dollar_*, define_dollar_label, fb_*): Define unconditionally.
|
|
* symbols.h (dollar_*, define_dollar_label, fb_*): Declare
|
|
unconditionally.
|
|
|
|
Wed May 3 13:08:53 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
|
|
PC relative call since those only occur in cases where the linker
|
|
can fix them up.
|
|
(hppa_force_relocation): Force relocations for out of range PC
|
|
relative calls.
|
|
|
|
Tue May 2 16:34:47 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* configure (hppa*-*-lites*): Handle just like hppa*-*-*elf*.
|
|
* configure.in: Likewise.
|
|
|
|
Tue May 2 11:22:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* read.c (pop_insert): New function.
|
|
(pop_override_ok, pop_table_name): New variables.
|
|
(md_pop_insert, obj_pop_insert): New macros.
|
|
(pobegin): Use them.
|
|
|
|
* config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of
|
|
NO_STDARG &c.
|
|
|
|
* read.c (target_big_endian): If TARGET_BYTES_BIG_ENDIAN is
|
|
defined, initialize to 1.
|
|
* config/tc-mips.c (mips_target_format): Changed to a function,
|
|
checking flavor and byte order at run time.
|
|
(md_parse_option, cases OPTION_EB and OPTION_EL): Set
|
|
target_big_endian here.
|
|
(md_begin): Not here.
|
|
* config/tc-mips.h (mips_target_format): Adjust declaration.
|
|
(TARGET_FORMAT): Call mips_target_format.
|
|
|
|
* config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of
|
|
OUTPUT_FLAVOR.
|
|
* config/tc-mips.c (g_switch_value, g_switch_seen): Define
|
|
unconditionally.
|
|
(md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
|
|
s_abicalls, nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run
|
|
time, instead of compiling conditionally on GPOPT.
|
|
(GPOPT): Don't define.
|
|
(md_shortopts): Always include -G.
|
|
(RDATA_SECTION_NAME): Select at run time.
|
|
(md_begin): Test for ELF format at run time instead of compile time.
|
|
(mips_ip, s_change_sec): Ditto.
|
|
(md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED):
|
|
Ditto.
|
|
(OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
|
|
unconditionally.
|
|
|
|
Tue May 2 00:17:04 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* Makefile.in (TARG_CPU_DEP_*): New variables.
|
|
(targ-cpu.o): Depend on one, selected by autoconf substitution,
|
|
instead of TARG_CPU_DEPENDENTS.
|
|
* configure.in: Substitute $cpu_type, $obj_format, $atof, and
|
|
$emulation into Makefile.in.
|
|
start-sanitize-arc
|
|
* config/arc.mt: Deleted.
|
|
end-sanitize-arc
|
|
* config/h8300.mt: Deleted.
|
|
* config/h8500.mt: Deleted.
|
|
* config/i386coff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
|
* config/m68k.mt: Deleted.
|
|
* config/m68kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
|
* config/m88kcoff.mt (TARG_CPU_DEPENDENTS): Deleted.
|
|
* config/mips-big.mt (TARG_CPU_DEPENDENTS): Deleted.
|
|
* config/mips-lit.mt (TARG_CPU_DEPENDENTS): Deleted.
|
|
start-sanitize-rce
|
|
* config/rce.mt: Deleted.
|
|
end-sanitize-rce
|
|
* config/sh.mt: Deleted.
|
|
* config/w65.mt: Deleted.
|
|
* config/z8k.mt: Deleted.
|
|
|
|
* config/te-dpx2.h (dpx2): Deleted unused macro.
|
|
* config/te-generic.h (TE_GENERIC): Ditto.
|
|
* config/te-go32.h (TE_GO32): Ditto.
|
|
* config/te-hp300.h (TE_HP300): Ditto.
|
|
* config/te-hppa.h (PA, _TE_PA_H): Ditto.
|
|
* config/te-ic960.h (TE_IC960): Ditto.
|
|
* config/te-nbsd532.h (TE_NETBSD532): Ditto.
|
|
* config/te-pc532mach.h (TE_PC532MACH): Ditto.
|
|
* config/te-ppcnw.h (TE_PPCNW): Ditto.
|
|
* config/te-sco386.h (scounix): Ditto.
|
|
|
|
Mon May 1 15:59:56 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* read.c (s_app_file): If obj_app_file is defined, call it with
|
|
string as argument. Don't call c_dot_file_symbol or
|
|
elf_file_symbol.
|
|
* config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
|
|
* config/obj-elf.h (obj_app_file): Define as elf_file_symbol.
|
|
|
|
* as.h (OUTPUT_FLAVOR): Don't define here.
|
|
* config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
|
|
* config/obj-bout.h (OUTPUT_FLAVOR): Define.
|
|
* config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
|
|
* config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
|
|
* config/obj-elf.h (OUTPUT_FLAVOR): Define.
|
|
|
|
start-sanitize-arc
|
|
Sat Apr 29 21:44:57 1995 Doug Evans <dje@chestnut.cygnus.com>
|
|
|
|
* config/tc-arc.c (delay_slot_type): Deleted.
|
|
(md_assemble): Remember suffixes seen.
|
|
Issue warnings for 8 byte jump with delay slot, and conditional
|
|
branch immediately following set of condition codes.
|
|
end-sanitize-arc
|
|
|
|
Thu Apr 27 20:07:33 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* Makefile.in (RUNTEST): Use one in srcdir if present.
|
|
(RUNTESTFLAGS): Define.
|
|
|
|
Wed Apr 26 15:54:10 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Support for more portable alignment handling in assembly code,
|
|
based on patches from Bryan Ford <baford@schirf.cs.utah.edu>:
|
|
* read.c (potable): Added balign and p2align, for aligning by
|
|
bytes or powers of two independent of what ".align" does for a
|
|
given target.
|
|
* doc/as.texinfo: Document them.
|
|
|
|
Tue Apr 25 11:12:04 1995 Rob Savoye <rob@thepub.cygnus.com>
|
|
|
|
* configure, configure.in: Look for m68k-*-vxworks* rather than
|
|
just m68k-wrs-vxworks so gas can be configured for
|
|
m68k-vxworks5.1.
|
|
|
|
Fri Apr 21 15:19:06 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-sh.c (md_apply_fix): If fx_r_type is zero, handle
|
|
fx_size of 1, and abort on unrecognized sizes.
|
|
|
|
* config/tc-m68k.c (m68k_ip): Fix bug in last change regarding
|
|
non-isvar case.
|
|
|
|
Sun Apr 16 01:52:52 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
|
|
|
* config/tc-m68k.h (md_relax_table, TC_GENERIC_RELAX_TABLE):
|
|
Missed this one in 11 Apr changes.
|
|
|
|
* config/tc-i386.h (TC_GENERIC_RELAX_TABLE): Fix typo.
|
|
|
|
Thu Apr 13 18:18:08 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-sh.c (md_convert_frag): Instead of aborting on large
|
|
displacements, print an error message. Don't invoke the code that
|
|
followed the abort call until it's been verified.
|
|
|
|
* config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu
|
|
list into three lines.
|
|
|
|
Thu Apr 13 14:34:36 1995 Torbjorn Granlund <tege@adder.cygnus.com>
|
|
|
|
* tc-m68k.c (m68k_init_after_args): Test for m68360.
|
|
(md_parse_option): Likewise.
|
|
(md_show_usage): Mention m68360.
|
|
* tc-m68k.h (TARGET_WORD_SIZE): Define.
|
|
(TARGET_ARCH): Define.
|
|
|
|
* expr.c (integer_constant): If TARGET_WORD_SIZE is defined,
|
|
sign-extend appropriately.
|
|
|
|
Thu Apr 13 11:20:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_validate_fix): Properly use PARAMS to
|
|
hide prototype from non-ANSI compilers, and don't use ANSI syntax
|
|
for arguments.
|
|
|
|
Wed Apr 12 12:20:19 1995 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* mpw-config.in (TDEFINES): Put empty definition into
|
|
makefile fragment.
|
|
* mpw-make.in (xmalloc.c.o): Remove.
|
|
(as.new): Depend on Version.r.
|
|
(Version.r): Generate from version info.
|
|
|
|
* mpw-make.in: Delete references to hex-value.c.
|
|
|
|
* mpw-config.in: Add mapping from configs to object file formats,
|
|
get VERSION from Makefile.in and add to mk.tmp.
|
|
(mips-idt-ecoff) [TDEFINES]: Add TARGET_BYTES_BIG_ENDIAN.
|
|
* mpw-make.in (VERSION, gC): Don't define.
|
|
(ALL_CFLAGS): Remove -d flags.
|
|
(config.h): Remove definition of MPW, add HAVE_STDARG_H,
|
|
BFD_ASSEMBLER.
|
|
|
|
* mpw-make.in (ALL_CFLAGS): Add definition of HAVE_STDARG_H,
|
|
include of ::libiberty:.
|
|
(config.h): Ifdef contents on GAS_VERSION.
|
|
|
|
* mpw-make.in (as.c): Compile with C not gC.
|
|
(config-stamp): Touch correctly.
|
|
(install-only): New target.
|
|
(install): Depend on all and install-only.
|
|
|
|
* mpw-config.in: Parse target and use to generate forward includes
|
|
to tc-, obj-, and atof- files, use te-generic.h for emulation.
|
|
* mpw-make.in (VERSION): Define.
|
|
(as.c): Compile with GCC.
|
|
(TARG_OBJECTS, CLIBS): Define.
|
|
(as.new): Use LDFLAGS, TARG_OBJECTS, CLIBS and EXTRALIBS in link
|
|
command.
|
|
(config.h, config-stamp): Build.
|
|
|
|
* mpw-make.in (C, CFLAGS): Removed definitions.
|
|
(ALL_CFLAGS): Define.
|
|
Set default rule to use {CC} instead of {C}.
|
|
|
|
* mpw-make.in (install): Moved here from mpw-build.in.
|
|
* mpw-build.in: Removed, functionality in mpw-make.in
|
|
|
|
* mpw-make.in (CFLAGS): Add more include paths.
|
|
|
|
* mpw-config.in (varargs.h, sys/*.h): Don't create when
|
|
configuring.
|
|
* mpw-make.in (CFLAGS): Add -w flag.
|
|
|
|
* mpw-make.in: Replace 8-bit chars with their names.
|
|
|
|
* mpw-config.in: New file, MPW version of configure.in.
|
|
* mpw-make.in: New file, MPW version of Makefile.in.
|
|
|
|
start-sanitize-arc
|
|
Wed Apr 12 07:35:44 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.c (delay_slot_type): New function.
|
|
(md_assemble): Use hashed list of insns.
|
|
Print warning if 8 byte insn appears in delay slot.
|
|
(md_operand): Handle %st(sym1-sym2).
|
|
(get_arc_exp_reloc_type): Likewise.
|
|
(md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends
|
|
so must store them here.
|
|
end-sanitize-arc
|
|
|
|
Tue Apr 11 01:42:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* configure.in: Require at least autoconf 2.3, because earlier
|
|
versions lose on some AIX versions.
|
|
* configure: Regenerated.
|
|
|
|
* configure.in: Add m68k-*-elf.
|
|
* config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
|
|
(md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
|
|
(md_begin): Set alt_notend_table['&'], so svr4-style immediate
|
|
operands are accepted.
|
|
(md_apply_fix): Argument VALP should point to valueT.
|
|
(md_convert_frag): Argument SEC should be type segT.
|
|
(md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
|
|
(md_parse_option): Ignore it.
|
|
(md_convert_frag_1): Add in frag address for the symbol in the
|
|
displacement calculation.
|
|
* config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
|
|
(TARGET_ARCH): Define.
|
|
(REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
|
|
(LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle
|
|
these the same way for OBJ_ELF as for M68KCOFF.
|
|
|
|
* gdbinit.in: Add breakpoint in as_abort.
|
|
|
|
* write.c (cvt_frag_to_fill): If offset is less than zero,
|
|
complain about it specifically, instead of reporting an assertion
|
|
failure.
|
|
(relax_segment): Complain about .org backwards, then ignore it.
|
|
Do generic rs_machine_dependent relaxation only if
|
|
TC_GENERIC_RELAX_TABLE is defined, and use its value for the base
|
|
of the table.
|
|
* tc.h (md_relax_table): Delete declaration.
|
|
* as.h (struct relax_type): Add forward declaration for type.
|
|
* config/tc-a29k.c: Deleted md_relax_table.
|
|
* config/tc-{alpha,arm,h8300,hppa,i860,m88k,mips,ppc,sparc,z8k}.c:
|
|
Ditto.
|
|
* config/tc-{h8500,i386,i960,ns32k,sh,tahoe,vax,w65}.h: Declare
|
|
md_relax_table here, and define TC_GENERIC_RELAX_TABLE to expand
|
|
to md_relax_table.
|
|
* config/tc-h8500.c (md_relax_table): No longer const.
|
|
* config/tc-w65.c (md_relax_table): Ditto.
|
|
* config/tc-sparc.c (md_short_jump_size, md_long_jump_size):
|
|
Deleted.
|
|
start-sanitize-arc
|
|
* config/tc-arc.c (md_relax_table, md_short_jump_size,
|
|
md_long_jump_size): Deleted.
|
|
end-sanitize-arc
|
|
start-sanitize-rce
|
|
* config/tc-rce.h: Declare md_relax_table here, and define
|
|
TC_GENERIC_RELAX_TABLE to expand to it.
|
|
end-sanitize-rce
|
|
* doc/internals.texi: Describe TC_GENERIC_RELAX_TABLE and
|
|
WORKING_DOT_WORD. Mention md_*_jump_size (but description needs
|
|
to be fleshed out later). Note m68k PCINDEX mode has been checked
|
|
in.
|
|
|
|
Mon Apr 10 15:57:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-mips.c (nopic_need_relax): New static function, split
|
|
out from md_estimate_size_before_relax.
|
|
(md_estimate_size_before_relax): Call it.
|
|
(load_address, macro): In NO_PIC branches, if nopic_need_relax
|
|
returns nonzero, don't attempt GP optimization.
|
|
|
|
* config/tc-m68k.c (PCINDEX): New macro.
|
|
(md_relax_table): No longer const. Add PCINDEX entries.
|
|
(m68k_ip): For AINDX with simple symbol operand, generate a
|
|
PCINDEX frag if PC is used, or do normal non-AINDX processing for
|
|
address register.
|
|
(m68k_init_after_args): If cpu is 68000 or 68010, fix
|
|
md_relax_table to prevent relaxation of PCINDEX/BYTE mode to
|
|
SHORT, since they don't support that mode.
|
|
(md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add
|
|
support for new PCINDEX modes.
|
|
(md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
|
|
|
|
* config/tc-m68k.c (md_convert_frag_1, case PCLEA/SHORT): Add 2 to
|
|
offset.
|
|
(m68k_ip, case most punctuation/AOFF): If using PC, call add_frag
|
|
using PCLEA.
|
|
|
|
* config/tc-m68k.c: Don't explicitly include config.h. Deleted a
|
|
bunch of "#if 0" code and useless comments.
|
|
(struct m68k_cpu): New type.
|
|
(archs, n_archs): New variables, with single list of name/enum
|
|
mapping and aliases.
|
|
(m68k_ip): Delete the table here.
|
|
(m68k_init_after_args): Use the new table here instead of
|
|
open-coding it.
|
|
(md_parse_option, case 'm'): Ditto.
|
|
|
|
* doc/Makefile.in (Makefile): Fix rule for running config.status.
|
|
(internals.dvi, internals.ps, internals.ps4): New targets, not
|
|
built by default.
|
|
|
|
* doc/internals.texi: Add loud disclaimer. Refill to 79 columns,
|
|
specify fill-column in local-variables section. Change
|
|
subheadings to subsections so they can be cross-referenced.
|
|
Describe broken words, frags, frag chains, generic relaxation,
|
|
relax table, m68k relaxation, m68k addressing modes, test suite
|
|
code. Add a few words about various file formats.
|
|
|
|
* doc/as.texinfo (m68k): Recommend using `%' with registers as the
|
|
normal case, instead of the exceptional case.
|
|
|
|
start-sanitize-arc
|
|
Thu Apr 6 20:00:11 1995 Doug Evans <dje@chestnut.cygnus.com>
|
|
|
|
* config/tc-arc.c (arc_condition_codes): Deleted.
|
|
(init_opcode_tables): Delete cpu_type_map, call
|
|
arc_get_opcode_mach instead.
|
|
(arc_common): Delete non-ELF stuff. Require leading '.' in .data.
|
|
(md_apply_fix): Delete non-ELF stuff.
|
|
Disable special handling of limm values, treat them normally.
|
|
(get_arc_exp_reloc_type): New argument `data_p'. Callers updated.
|
|
(md_assemble): All limm operands must be output by gas, the opcode
|
|
insertion routines cannot be used (they don't do anything and we're
|
|
using implicit addends now so we need to output something).
|
|
* config/tc-arc.h (FAKE_LABEL_NAME): Define.
|
|
end-sanitize-arc
|
|
|
|
Thu Mar 30 14:38:47 1995 H.J. Lu (hjl@nynexst.com)
|
|
|
|
* configure.in: Change linux to default to elf. Using
|
|
i[345]86-*-linuxaout will defaults to a.out.
|
|
* configure: Rebuild.
|
|
|
|
Wed Mar 29 17:16:30 1995 Torbjorn Granlund <tege@adder.cygnus.com>
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2): Cast negative offsets to offsetT
|
|
(for hosting on 64 bit machines).
|
|
|
|
Tue Mar 21 16:53:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650.
|
|
|
|
Fri Mar 17 16:47:13 1995 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* write.c (write_object_file): Add PROGRESS macros.
|
|
|
|
Fri Mar 17 12:40:34 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_comm): Make sure to always reset the frag
|
|
and section for common symbols.
|
|
|
|
Thu Mar 16 17:26:18 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_validate_fix): Allow non PC relative
|
|
pointers in the .ctors and .dtors section also when using the
|
|
-mrelocatable option.
|
|
(md_parse_option): Support -m403 as a PowerPC computer.
|
|
(md_show_usage): Ditto.
|
|
|
|
Wed Mar 15 14:45:42 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
|
|
may be NULL when given strange input. Don't core dump.
|
|
|
|
Tue Mar 14 21:36:34 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (load_register): Don't use addiu for dli of an
|
|
unsigned seemingly negative number. Don't bother shifting a zero
|
|
value.
|
|
(mips_ip): For case 'j', if there are more alternatives, and the
|
|
ISA level is at least 3, don't accept an unsigned seemingly
|
|
negative number.
|
|
|
|
Tue Mar 14 19:16:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* read.c (s_app_line): Fix last patch to deal with a line number
|
|
of 1.
|
|
|
|
Tue Mar 14 17:00:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_validate_fix): Use as_warn_where, not
|
|
as_bad_where to give a warning instead of an error.
|
|
|
|
Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/tc-vax.c (md_assemble): issue a warning if a constant
|
|
is used as an operand where an immediate value is not allowed.
|
|
|
|
Fri Mar 10 19:21:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-coff.c: Redo my 10 Jan change, but get it right this
|
|
time. :-)
|
|
(fixup_segment): If linkrelax is set, just return.
|
|
(write_object_file): Don't treat h8300 and z8k specially with
|
|
regard to fixups.
|
|
* config/tc-h8300.c (md_begin): Set linkrelax.
|
|
* config/tc-z8k.c (md_begin): Ditto.
|
|
|
|
Thu Mar 9 18:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/obj-coff.c (coff_header_append): Check return value of
|
|
bfd_coff_swap_scnhdr_out.
|
|
|
|
Thu Mar 9 13:51:30 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
Delete this patch, it breaks the h8300 assembler.
|
|
Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
|
|
specially with regard to fixups.
|
|
|
|
Thu Mar 9 12:28:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (mrelocatable): Change type to boolean.
|
|
(md_begin): Set the EF_PPC_RELOCATABLE if -mrelocatable.
|
|
|
|
Wed Mar 8 15:39:39 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
|
|
r10000. If mips_isa is 4, set the machine number to 8000.
|
|
(append_insn): If mips_isa is at least 4, don't generate nops for
|
|
coprocessor delays. Check INSN_READ_FPR_R when setting
|
|
mips_cprmask[1].
|
|
(mips_emit_delays): If mips_isa is at least 4, don't generate nops
|
|
for coprocessor delays.
|
|
(mips_ip): Check for INSN_ISA4 instructions. Handle new argument
|
|
types 'h', 'R', 'N', and 'M'.
|
|
(md_longopts): Accept "mips4".
|
|
(md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
|
|
(s_mipsset): Permit .set mips4.
|
|
|
|
Wed Mar 8 09:36:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (ppc_elf_validate_fix): Allow .stab sections to
|
|
have non PC relative relocations with -mrelocatable.
|
|
|
|
Wed Mar 8 02:57:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-m68k.c (opcode_ptr): Return pointer to const.
|
|
(md_begin): Make hash table errors fatal. Process opcode aliases
|
|
after main opcode table.
|
|
(md_apply_fix_2, case 4): Recode setting of lower_limit to avoid
|
|
gcc warning.
|
|
|
|
start-sanitize-arc
|
|
Tue Mar 7 20:42:35 1995 Doug Evans <dje@chestnut.cygnus.com>
|
|
|
|
* config/tc-arc.h (LITTLE_ENDIAN, BIG_ENDIAN): Define.
|
|
(DEFAULT_TARGET_FORMAT): Define.
|
|
(DEFAULT_BYTE_ORDER): Define to little endian.
|
|
(TARGET_FORMAT): Byte order is now selectable.
|
|
* config/tc-arc.c (arc_target_format): New variable.
|
|
(byte_order): New variable.
|
|
(md_longopts): New options -EL, -EB.
|
|
(md_parse_option): Recognize them.
|
|
(md_show_usage): Print them.
|
|
(md_begin): Set target_big_endian.
|
|
end-sanitize-arc
|
|
|
|
Tue Mar 7 16:07:10 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
|
|
<dje@cygnus.com>.
|
|
|
|
Mon Mar 6 09:58:34 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
|
|
be consistent with current naming conventions.
|
|
(md_begin): Set a default architecture and machine type.
|
|
(pa_ip): If the current instruction specifies a newer machine type
|
|
than the current machine type, then update the current machine
|
|
type.
|
|
(need_pa11_opcode): Likewise.
|
|
|
|
Sun Mar 5 19:38:09 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
|
|
relocation bits for absolute calls.
|
|
|
|
Fri Mar 3 17:41:50 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-h8300.* (md_operand): Change empty function to empty
|
|
macro.
|
|
|
|
* config/tc-h8300.c (build_bytes): Make H8/300-H warning message
|
|
clearer.
|
|
|
|
* write.c (write_contents): If bfd_set_section_contents fails,
|
|
print a message and exit, instead of aborting.
|
|
|
|
Fri Mar 3 16:26:19 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* tc.h (md_apply_fix3): If MD_APPLY_FIX3 is defined, declare
|
|
md_apply_fix3.
|
|
|
|
* write.c (fixup_segment): If MD_APPLY_FIX3 is defined, call
|
|
md_apply_fix3 with the normal 2 arguments and the current segment
|
|
pointer instead of md_apply_fix.
|
|
|
|
* config/tc-ppc.h (MD_APPLY_FIX3): Define.
|
|
|
|
* config/tc-ppc.c (ppc_elf_validate_fix): Warn if -mrelocatable
|
|
and a non PC relative relocation that isn't in the .got2 segment
|
|
was performed.
|
|
(md_apply_fix3): Rename from md_apply_fix and take segment pointer
|
|
as third argument. If ELF object format, call ppc_elf_validate_fix
|
|
for normal relocations.
|
|
(md_parse_option): If ELF object format, recognize the
|
|
-mrelocatable switch.
|
|
|
|
Thu Mar 2 16:34:44 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-i386.h (AOUT_MACHTYPE): Define as 100, not 0.
|
|
|
|
Tue Feb 28 18:29:27 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-arm.c, config/tc-arm.h (md_operand): Replaced empty
|
|
function in .c file with empty macro in .h file.
|
|
* config/tc-h8500.*, config/tc-hppa.*, config/tc-i386.*,
|
|
config/tc-i860.*, config/tc-i960.*, config/tc-ns32k.*,
|
|
config/tc-ppc.*, config/tc-sh.*, config/tc-sparc.*,
|
|
config/tc-tahoe.*, config/tc-vax.*, config/tc-w65.*,
|
|
config/tc-z8k.*: Ditto.
|
|
start-sanitize-rce
|
|
* config/tc-rce.*: Ditto.
|
|
end-sanitize-rce
|
|
* config/tc-m68k.*: Ditto.
|
|
|
|
* config/tc-m68k.c (mote_pseudo_table): Removed dots from opcode
|
|
names.
|
|
|
|
* read.c (s_app_line): Ignore non-positive line numbers.
|
|
|
|
Tue Feb 28 15:34:14 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
|
|
GOT relocs either.
|
|
|
|
Mon Feb 27 13:03:41 1995 Kung Hsu <kung@mexican.cygnus.com>
|
|
|
|
* configure.in: add a29k-*-vxworks configuration.
|
|
|
|
Fri Feb 24 14:41:15 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (load_register): Take dbl argument to determine
|
|
handling of signed 32 bit values in 64 bit modes. Change all
|
|
callers.
|
|
(macro): Handle M_DLI and M_DLA_AB.
|
|
|
|
Wed Feb 22 23:10:56 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
|
|
add symbol if it's a common symbol (the value of a common symbol
|
|
is its size, not a value in the traditional sense).
|
|
|
|
Wed Feb 22 21:12:28 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (append_insn): If listing_prev_line is called,
|
|
call frag_grow to make sure there is still room for a variant.
|
|
|
|
Fri Feb 17 14:50:08 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
|
|
if OBJ_ELF. From gary@Intrepid.COM (Gary Funck).
|
|
|
|
* config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
|
|
weak and common.
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Likewise.
|
|
|
|
Fri Feb 17 12:43:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_pseudo_table): Don't redefine byte under
|
|
ELF.
|
|
(ppc_elf_cons): Don't support @pcrel any more, since DIFF_EXPR_OK
|
|
allows the normal expressions to generate it.
|
|
(md_apply_fix): Convert BFD_RELOC_32 with pcrel bit set into
|
|
BFD_RELOC_32_PCREL. Abort if either BFD_RELOC_16 or BFD_RELOC_8
|
|
need PC relative relocations.
|
|
|
|
* config/tc-ppc.h (DIFF_EXPR_OK): Define to allow PC relative
|
|
expressions to be handled.
|
|
|
|
Thu Feb 16 14:30:13 1995 Doug Evans <dje@cygnus.com>
|
|
|
|
* expr.c (operand): Move md_operand handling to default case
|
|
(so it works).
|
|
|
|
Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com>
|
|
|
|
* config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
|
|
parameter, to match prototype.
|
|
|
|
Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_pseudo_table): If ELF, go to ppc_elf_cons
|
|
instead of cons.
|
|
(md_show_usage): Show all of the PowerPc options.
|
|
(ppc_elf_suffix): New function to recognize ELF suffixes that
|
|
specify a relocation, such as @GOT.
|
|
(ppc_elf_cons): Replacement for the standard cons function that
|
|
knows about the ELF suffixes.
|
|
(ppc_fixup): Add reloc field to hold non-standard relocation.
|
|
(md_assemble): Handle ELF suffixes like @GOT.
|
|
(md_create_short_jump): Dummy in case WORKING_DOT_WORD is not
|
|
defined.
|
|
(md_create_long_jump): Ditto.
|
|
(md_short_jump_size): Ditto.
|
|
(md_long_jump_size): Ditto.
|
|
(md_apply_fix): Handle BFD_RELOC_32_PCREL, BFD_RELOC_LO16,
|
|
BFD_RELOC_HI16, BFD_RELOC_HI16_S, BFD_RELOC_PPC_TOC16, and
|
|
BFD_RELOC_16 relocations. If relocation can not be found, print
|
|
the decimal value of the relocation.
|
|
|
|
Wed Feb 15 11:46:02 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
|
|
DWARF. From gary@Intrepid.COM (Gary Funck).
|
|
|
|
* config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
|
|
loads and stores).
|
|
|
|
* config/tc-i386.c (tc_i386_fix_adjustable): Do adjust global
|
|
symbols if OBJ_AOUT.
|
|
|
|
* config/tc-mips.c (macro): Don't use the target register as a
|
|
base register when building the address for M_L{W,D}{L,R}_AB.
|
|
|
|
Mon Feb 13 14:44:32 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (KT0, KT1): Define.
|
|
(mips_ip): Recognize $kt0 and $kt1 as register names.
|
|
|
|
* config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
|
|
* config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
|
|
value of a defined symbol; the value was added in by
|
|
fixup_segment. This was previously corrected, if the reloc was
|
|
changed to be against a section symbol, in tc_gen_reloc.
|
|
|
|
start-sanitize-arc
|
|
Mon Feb 13 10:02:35 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.h (TC_PARSE_CONS_EXPRESSION): Define.
|
|
(TC_CONS_FIX_NEW): Define.
|
|
* config/tc-arc.c (get_arc_exp_operand_type): New function.
|
|
(init_opcode_tables): Insert registers into global symbol table.
|
|
(md_assemble): Call `expression' to parse all expressions.
|
|
Call `get_arc_exp_operand_type'.
|
|
(md_operand): Recognize %st(foo).
|
|
(arc_parse_cons_expression): New function.
|
|
(arc_cons_fix_new): New function.
|
|
(md_apply_fix): Handle new reloc BFD_RELOC_ARC_B26.
|
|
end-sanitize-arc
|
|
|
|
Fri Feb 10 14:04:04 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
|
|
rather than !S_IS_LOCAL.
|
|
|
|
start-sanitize-arc
|
|
Thu Feb 9 17:44:29 1995 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.c (md_pseudo_table): Add .cpu.
|
|
(comment_chars): Add ';'.
|
|
(arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals.
|
|
(md_parse_option): Delete support for -mmult. Add -mcpu=xxx.
|
|
(md_begin): Current ARCs are little endian.
|
|
Call bfd_set_arch_mach to set the cpu type.
|
|
(init_opcode_tables): New function.
|
|
(md_begin): Ignore suffixes and registers not supported by cpu.
|
|
(md_assemble): Initialize opcode tables here.
|
|
Ignore opcodes not supported by selected cpu.
|
|
Always ask for more memory in one piece.
|
|
(arc_cpu): New function.
|
|
(md_numbers_to_chars): Support both endians (will probably be needed
|
|
eventually anyway).
|
|
(md_apply_fix): Likewise.
|
|
* config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around
|
|
dwarfout.c quirk.
|
|
end-sanitize-arc
|
|
|
|
Thu Feb 9 18:16:34 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-i386.c (md_assemble): Adjust conditions for changing
|
|
BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
|
|
Patch originally from Rob Ryan <robr@cmu.edu>.
|
|
|
|
* config/tc-i386.c: Include subsegs.h.
|
|
(tc_i386_fix_adjustable): Declare return value.
|
|
(i386_operand): Don't use an assignment directly as a condition.
|
|
|
|
Thu Feb 9 10:37:13 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): In some cases subtract the
|
|
value of the add symbol from valp. Offsets braindamage in the
|
|
"machine independent" fixup_segment.
|
|
|
|
Wed Feb 8 18:51:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* messages.c (as_abort): New function.
|
|
* as.h (as_abort): Declare it.
|
|
(abort): New macro.
|
|
|
|
Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/vms-conf.h (HAVE_UNISTD_H): define it unconditionally.
|
|
* config-gas.com: test for availability of <unistd.h>; create a
|
|
rudimentary one if necessary.
|
|
|
|
Tue Feb 7 13:34:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* configure.in: Add powerpc-*-eabi support, which is the same as
|
|
powerpc-*-elf.
|
|
(configure): Rebuild with autoconf.
|
|
|
|
Mon Feb 6 03:37:00 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Changes from Bryan Ford <baford@schirf.cs.utah.edu> for i386
|
|
16-bit and msdos support:
|
|
* config/tc-i386.c (flag_16bit_code): New variable.
|
|
(set_16bit_code_flag): New function.
|
|
(md_pseudo_table): Added entries "code16" and "code32".
|
|
(md_assemble): Ensure that correct data-size prefixes get emitted,
|
|
based on the current mode. Ensure that 32-bit addressing will
|
|
always be done. Move segment-prefix handling code. (Why?) Use
|
|
16-bit jumps for 16-bit code, 32-bit jumps for 32-bit code.
|
|
* config/tc-i386.h (MAX_PREFIXES): Bump to 5.
|
|
(Data16, Data32): Define.
|
|
* doc/as.texinfo (i386-16bit): New node.
|
|
* configure.in (i386-*-msdos*): New target, using a.out format.
|
|
* configure: Regenerated.
|
|
|
|
Thu Feb 2 15:21:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-m68k.c (cpu32_control_regs): New macro.
|
|
(m68k_init_after_args): Use it, for cpu32 processors.
|
|
|
|
Tue Jan 31 17:20:45 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c (vms_tir_stack_psect): new routine;
|
|
(VMS_Set_Data, VMS_Set_Psect, VMS_Store_PIC_Symbol_Reference,
|
|
VMS_TBT_Routine_Begin, VMS_TBT_Line_PC_Correlation): use it;
|
|
(VMS_Global_Symbol_Spec, VMS_Procedure_Entry_Pt): treat
|
|
Psect_Number as `unsigned'.
|
|
|
|
Thu Jan 26 17:06:28 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c: performance tuning.
|
|
(VMS_Symbol_type_list): convert from single list head to small
|
|
array of list heads;
|
|
(SYMTYP_HASH): new macro for accessing VMS_Symbol_type_list[];
|
|
(find_symbol, setup_basic_type, VMS_typedef_parse): use it;
|
|
(VMS_RSYM_Parse): move S_GET_VALUE() inside switch to avoid
|
|
calling it for uninteresting cases.
|
|
|
|
Wed Feb 1 23:52:45 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Go ahead and call
|
|
hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
|
|
relocations in SOM.
|
|
(hppa_fix_adjustable): Refine somewhat.
|
|
|
|
Fri Jan 27 21:29:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
|
|
|
* config/tc-ppc.h (NO_STRING_ESCAPES): Don't define if we are
|
|
using ELF.
|
|
|
|
Thu Jan 26 19:03:42 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-h8300.c (get_specific): Add parens around | inside &.
|
|
(skip_colonthing): Set L_8 if ":8" is specified.
|
|
|
|
Thu Jan 26 18:38:01 1995 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
|
|
601. Check that the error return from hash_insert is "exists".
|
|
|
|
Thu Jan 26 11:35:33 1995 Michael Meissner <meissner@cygnus.com>
|
|
|
|
* configure: Add support for configuring powerpc-*-eabi.
|
|
|
|
* config/tc-ppc.c (GOT_symbol): Define if object format is ELF.
|
|
|
|
* config/tc-ppc.h (GLOBAL_OFFSET_TABLE_NAME): Define if object
|
|
format is ELF and not defined to be "_GLOBAL_OFFSET_TABLE_".
|
|
|
|
Wed Jan 25 16:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com>
|
|
|
|
* tc-sh.c (little): Add argument IGNORE to avoid compiler warnings.
|
|
(md_pseudo_table): Add space for consistent formatting.
|
|
(COND8_RANGE, COND12_RANGE): Delete unused macros.
|
|
(COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
|
|
Correct minimum and maximum branch offsets. Add comments explaining
|
|
why these numbers are correct.
|
|
|
|
Wed Jan 25 15:32:09 1995 David Edelsohn <edelsohn@mhpcc.edu>
|
|
|
|
* config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
|
|
mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
|
|
m620 for PowerPC64 mode.
|
|
(ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
|
|
|
|
Tue Jan 24 16:44:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-vax.c (vip): Introduce new ptr-to-const local variable
|
|
for scanning operand string.
|
|
|
|
Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/vax-inst.h (struct vop, fields `vop_warn', `vop_error'):
|
|
make them pointers to const char;
|
|
(struct vit, field `vit_error'): ditto.
|
|
* config/atof-vax.c (md_atof): rename local `littlenum_pointer'
|
|
to `littlenumP' to avoid shadowing file scope variable.
|
|
* config/tc-vax.c (vip_begin, vip_op_defaults, vip_op_1): make
|
|
string arguments be pointers to const char;
|
|
(vip): make `alloperr' const char *;
|
|
(vip_op): make `err' and `wrn' const char *; rename `access' to
|
|
`access_mode' to avoid shadowing library function.
|
|
* config/obj-vms.c (`symbol_name'): make it const char *;
|
|
(get_struct_name): cast one use of `symbol_name' to char *
|
|
[caller guarantees that it won't modify the pointer's target];
|
|
(PUT_COUNTED_STRING): use pointer to const char;
|
|
(VMS_typedef_parse): make `pnt2' const char *;
|
|
(Write_VMS_MHD_Records): make `cp' const char *;
|
|
(VMS_Modify_Psect_Attributes, array `Attributes'): make const,
|
|
and make field `Name' pointer to const char;
|
|
|
|
* as.h (`seg_name[]' declaration): pointers to const char;
|
|
(struct _pseudo_type, field `poc_name'): pointer to const char.
|
|
* subsegs.c (`seg_name[]' definition): ditto;
|
|
* hash.c (hash_ask): rename argument `access' to `access_type'
|
|
to avoid shadowing library function.
|
|
* write.c (variable `the_object_file'): move from file scope
|
|
to block scope within write_object_file(); free it after use;
|
|
(fixup_segment): conditionally exclude it for OBJ_VMS.
|
|
(cvt_frag_to_fill): rename argument `headers' to `headersP'
|
|
to avoid shadowing file scope variable.
|
|
|
|
Mon Jan 23 21:42:39 1995 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
|
|
miscompilation of "diag" instructions.
|
|
|
|
Mon Jan 23 15:51:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* configure: Regenerated.
|
|
|
|
* config/tc-mips.c: Include libiberty.h.
|
|
|
|
Mon Jan 23 14:07:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-sh.h (tc_init_after_args): Don't define.
|
|
* config/tc-sh.c (md_begin): Remove unused variable table.
|
|
(md_assemble): Remove unused variable p.
|
|
(md_convert_frag): Cast fr_address to unsigned long for printf.
|
|
(md_apply_fix): Use as_warn_where rather than as_warn.
|
|
(sh_init_after_args): Remove empty function.
|
|
|
|
* configure.in (i386-*-gnu*elf*): New target.
|
|
|
|
Sat Jan 21 19:02:23 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
|
|
|
* hash.c (hash_ask): If we find the slot after wrapping around,
|
|
break out of the loop. Fixes bug in Jan 18 change.
|
|
|
|
Fri Jan 20 17:07:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* hash.c (hash_code): Undo last change.
|
|
|
|
Thu Jan 19 14:49:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-alpha.c (alpha_ip): Initialize local variables to keep
|
|
gcc quiet.
|
|
(gpdisp_hi16_howto): Don't use "const" with reloc_howto_type.
|
|
(in_range_signed): Add parens around subtraction inside shift.
|
|
* gasp.c (do_data): Initialize local variable "opname".
|
|
(istrue): Provide a default case to set "res" and keep "gcc -Wall"
|
|
quiet.
|
|
* write.c (write_contents): Deleted unused variable.
|
|
(print_symbol_value_1): Declare.
|
|
* hash.c (hash_ask): Delete disabled non-strcmp version of the
|
|
code, and automatic variables used only in those sections.
|
|
* write.c (chain_frchains_together_1): Only define local variable
|
|
"prev_fix" if BFD_ASSEMBLER.
|
|
* flonum-konst.c (dummy1): Return void.
|
|
* config/tc-vax.c (md_assemble): Remove two comparisons of
|
|
unsigned numbers versus zero.
|
|
* as.h (bcopy): If neither memcpy nor bcopy is defined as a macro,
|
|
define to use memcpy.
|
|
|
|
* config/tc-alpha.c, config/alpha-opcode.h: Revert 2 June changes.
|
|
Turns out we never got the assignment done after all.
|
|
|
|
Cleanup of VAX and VMS code, from Pat Rankin:
|
|
* config/obj-vms.c: Changed exported function names to lower case.
|
|
(Changed call sites in write.c.) Declare VMS system function
|
|
names used, conditional on actually being on VMS. Changed many
|
|
functions that returned no useful value to now be declared to
|
|
return void. Removed many unused variables. Supply missing
|
|
return statements or values. Supply `default' case in switch
|
|
statements. Ensure local variables get initialized.
|
|
* config/tc-vax.c: Minor changes to silence "gcc -Wall".
|
|
* config/obj-vms.h, config/tc-vax.h: Added some missing
|
|
declarations.
|
|
|
|
Wed Jan 18 13:49:26 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* atof-generic.c (flonum_print) [TRACE]: New function.
|
|
(atof_generic) [TRACE]: Print multiplier before multiplication,
|
|
and print multiplication result before and after copy.
|
|
|
|
* flonum-mult.c (flonum_multip): Avoid sign extension problems
|
|
around multiplication operation.
|
|
|
|
* atof-generic.c (ASSUME_DECIMAL_MARK_IS_DOT): Define.
|
|
(atof_generic) [ASSUME_DECIMAL_MARK_IS_DOT]: Check for '.'
|
|
explicitly instead of calling strchr.
|
|
|
|
* config/tc-sparc.c (sparc_ip): When scanning successive opcode
|
|
table entries, check names for pointer equality before doing
|
|
string comparisons.
|
|
|
|
* hash.c (hash_ask): Call strcmp instead of expanding it inline.
|
|
(hash_code): Replaced with a version from bfd.
|
|
|
|
* config/obj-coff.c (write_object_file): If COFF_FLAGS isn't
|
|
defined, default it to zero.
|
|
|
|
Wed Jan 18 12:16:07 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* write.c (fix_new_internal): Clear fx_bsr on those targets which
|
|
use it.
|
|
|
|
* expr.c (operand): Parenthesize && within ||.
|
|
* listing.c (listing_newline): Likewise.
|
|
(list_symbol_table): Use %lu to print sizeof.
|
|
* symbols.c: Comment out unused function indent.
|
|
(print_symbol_value_1): Cast pointer to unsigned long for printf.
|
|
* config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
|
|
will be used.
|
|
* config/tc-h8300.c (md_begin): Remove unused variable reg.
|
|
(get_operand): Declare type of parameter direction. Remove unused
|
|
variable size.
|
|
(get_specific): Fix comment to avoid nested comments.
|
|
(check_operand): Cast X_add_number to unsigned long for printf.
|
|
(build_bytes): Remove unused local variables output_ptr, part, and
|
|
high.
|
|
(build_bytes): Cast X_add_number to unsigned long for printf.
|
|
(clever_message): Remove unused variable scan.
|
|
(md_assemble): Remove unused variable i.
|
|
(tc_coff_sizemachdep): Remove unused function.
|
|
* tc-h8300.h (tc_reloc_mangle): Declare.
|
|
|
|
Tue Jan 17 10:58:06 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (mips_4650): New static variable.
|
|
(md_begin): Handle a cpu string of "4650". If mips_4650 was not
|
|
initialized, set it to 0.
|
|
(append_insn): Don't insert nops around HI and LO on a 4650.
|
|
(mips_emit_delays): Likewise.
|
|
(mips_ip): Use INSN_ISA mask to check ISA of instruction. Check
|
|
for INSN_4650.
|
|
(md_longopts): Add m4650 and no-m4650.
|
|
(md_parse_option): Handle mips-cpu=4650. Handle -m4650 and
|
|
-no-m4650.
|
|
* doc/as.texinfo: Document new MIPS options.
|
|
|
|
Sat Jan 14 23:48:13 1995 Steve Chamberlain <sac@jonny>
|
|
|
|
* config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
|
|
* config/obj-coff.h: Cope with w65.
|
|
* configure, configure.in: Recognize w65.
|
|
|
|
Thu Jan 12 17:56:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get'
|
|
function is scrub_from_file, call scrub_from_file directly, and
|
|
get gcc's inlining capability into the act.
|
|
|
|
* Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
|
|
(OBJS): Delete hex-value.o.
|
|
(REAL_SOURCES): Delete hex-value.c.
|
|
(hex-value.o): Delete dependencies.
|
|
* hex-value.c: Deleted.
|
|
* as.c (main): Call hex_init.
|
|
* expr.c, config/tc-mips.c: Include libiberty.h. Replace
|
|
hex_value array references with hex_* macros.
|
|
|
|
Wed Jan 11 17:51:38 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-h8300.h (COFF_FLAGS): Don't define.
|
|
* config/tc-h8500.h (COFF_FLAGS), config/tc-sh.h (COFF_FLAGS),
|
|
config/tc-z8k.h (COFF_FLAGS): Ditto.
|
|
start-sanitize-rce
|
|
* config/tc-rce.h (COFF_FLAGS): Ditto.
|
|
end-sanitize-rce
|
|
|
|
* config/obj-coff.c (KEEP_RELOC_INFO): Make sure it's always
|
|
defined.
|
|
|
|
* config/tc-m68k.c (m68k_ip, cases AOFF and AINDEX): Don't
|
|
generate 68020 addressing modes for a 68000 processor.
|
|
(md_estimate_size_before_relax, cases PCREL and PCLEA): Ditto.
|
|
|
|
Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
|
|
specially with regard to fixups.
|
|
|
|
Mon Jan 9 16:22:28 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to
|
|
bfd_vma before subtracting.
|
|
|
|
* config/obj-coff.c (size_section): Handle rs_space like rs_fill,
|
|
but make sure fr_symbol is null.
|
|
(fill_section): Ditto.
|
|
|
|
Sun Jan 8 16:14:19 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
|
|
|
* config/tc-mips.c (mips_ip): Fix handling of floating point
|
|
values when GPOPT is not defined.
|
|
|
|
Fri Jan 6 16:59:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* gasp.c: Include string.h. Put config.h before other includes.
|
|
|
|
* config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until
|
|
after any remaining operands are also known to match.
|
|
|
|
Fri Dec 30 18:21:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* listing.c (list_symbol_table): Build a format string based on
|
|
the size of the value to be printed, as long as "unsigned long" is
|
|
at least as wide, after handling the special case of 4-byte
|
|
values.
|
|
|
|
* Makefile.in (dependencies): Make $(OBJS) depend on as.h and
|
|
everything it includes. Delete those files from per-file
|
|
dependencies.
|
|
|
|
* as.h (relax_substateT): Now defined to be unsigned int.
|
|
(relax_stateT): Separate typedef from enum definition.
|
|
(enum _relax_state): Reordered for better punctuation. Added new
|
|
values rs_align_code and rs_space.
|
|
(lineno, struct lineno_struct): Unused, deleted.
|
|
|
|
* as.h: No longer include assert.h.
|
|
(as_assert): Declare.
|
|
(assert): New definition, calls as_assert longer needed.
|
|
(__PRETTY_FUNCTION__): Provide default for older versions of gcc.
|
|
* messages.c (as_assert): New function.
|
|
* gdbinit.in: Put a breakpoint there.
|
|
|
|
* read.c (s_space): Rewrite to handle general expressions.
|
|
Generate rs_space frags for non-constant values.
|
|
* write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space
|
|
like rs_align and rs_org. Verify that fr_offset is non-negative,
|
|
and force frag type to rs_fill only after assertion checks.
|
|
(relax_segment): Treat rs_align_code like rs_align. Treat
|
|
rs_space like rs_org in the first switch; in the second, force the
|
|
operand to a constant, and use it for the growth size.
|
|
|
|
Wed Dec 28 20:57:37 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_subspace): For sections with the ZERO
|
|
attribute, set the "bss" field in the appropriate seginfo structure.
|
|
|
|
Wed Dec 28 15:01:01 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* subsegs.h: Include obstack.h.
|
|
|
|
Tue Dec 27 18:16:04 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* as.h (struct frag): Enable align* components now.
|
|
|
|
Tue Dec 20 14:56:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* frags.c (frag_init): Call obstack_begin on `frags'.
|
|
* subsegs.c (subsegs_begin): Don't do it here.
|
|
* as.c (main): Call frag_init before subsegs_begin.
|
|
|
|
* frags.c (frag_append_1_char): New function.
|
|
* frags.h (frag_append_1_char): Declare it.
|
|
(FRAG_APPEND_1_CHAR): Call it. Old definition is commented out
|
|
for now.
|
|
|
|
* as.h (struct frag): Added (but commented out) new fields for
|
|
tracking current alignment.
|
|
(frag_now_fix): Changed macro to function declaration.
|
|
* frags.c (frag_now_fix): Define function here.
|
|
(frag_new): Use it instead of accessing `frags' directly.
|
|
* frags.h (frags): Change comment to indicate it shouldn't be
|
|
accessed directly.
|
|
* subsegs.h (struct frchain): New field frch_obstack, intended to
|
|
eventually replace global `frags' obstack.
|
|
* subsegs.c (subseg_set_rest): Use frag_now_fix instead of
|
|
accessing `frags' directly. Initialize fields of new frchainS
|
|
explicitly instead of with memset.
|
|
* config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use
|
|
frag_now_fix.
|
|
* config/tc-mips.c (s_loc), config/obj-vms.c
|
|
(vms_resolve_symbol_redef), symbols.c (colon): Likewise.
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT
|
|
instead of long and unsigned long.
|
|
(md_apply_fix): Cast value before passing it.
|
|
|
|
* config/obj-aout.h, config/obj-coff.c, config/obj-elf.h,
|
|
config/obj-som.h, config/tc-h8500.c, config/tc-hppa.c,
|
|
config/tc-hppa.h, config/tc-sh.c, config/tc-z8k.c: Don't rely on
|
|
use of ".." when including header files.
|
|
start-sanitize-rce
|
|
* config/tc-rce.c: Ditto.
|
|
end-sanitize-rce
|
|
|
|
* config/obj-coff.c (fixup_segment): Reformat condition in an `if'
|
|
statement.
|
|
|
|
* Makefile.in (SUBDIR_INCLUDES): Deleted.
|
|
|
|
Tue Dec 20 13:40:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h.
|
|
|
|
start-sanitize-arc
|
|
Tue Dec 20 09:10:40 1994 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.c: Delete lots of sparc pseudo-ops.
|
|
end-sanitize-arc
|
|
|
|
Mon Dec 19 16:53:36 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
|
|
constants.
|
|
(mips_ip): Accept O_big constants in case 'I'. Change case
|
|
'i'/'j' to treat an O_big constant as an out of range value.
|
|
|
|
Mon Dec 19 14:15:07 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
|
|
clear for a section with the "ZERO" attribute.
|
|
|
|
* Reduce useless symbols for ELF in an attempt to make smaller
|
|
objects and speed up the linker.
|
|
* config/tc-hppa.c (struct call_info): Replace end_symbol field
|
|
with a size field.
|
|
(hppa_elf_mark_end_function): Delete unneeded function.
|
|
(pa_build_unwind_subspace): For the 2nd unwind relocation, use
|
|
the function symbol + function size instead of a special symbol
|
|
for the end of the function.
|
|
(process_exit): Compute the function size here. Don't call
|
|
hppa_elf_mark_end_of_function anymore.
|
|
(pa_procend): Likewise.
|
|
(hppa_fix_adjustable): Only reject 32bit relocations for SOM.
|
|
(elf_hppa_final_processing): Simplify.
|
|
|
|
start-sanitize-arc
|
|
Mon Dec 19 12:57:09 1994 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
|
|
to table entry. All callers changed.
|
|
(md_shortopts): New argument -mmult.
|
|
(md_parse_option): Recognize it.
|
|
(md_show_usage): Print it.
|
|
(md_begin): If -mmult, say we have the new multiply and shift insns.
|
|
(md_assemble): Fix reloc generation for 32 bit immediate values.
|
|
Clean up modifier handling. Try next insn if fake operand says there's
|
|
an error. Update to new syntax of insertion/extraction fns.
|
|
Recognize predefined aux regs. Don't abort if insertion fn missing.
|
|
end-sanitize-arc
|
|
|
|
Mon Dec 19 13:49:07 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but
|
|
reject other vendors until we can be sure we're consistent with
|
|
bfd.
|
|
|
|
* config/obj-vms.c (Create_VMS_Object_File): Instead of formatting
|
|
a buffer to pass to `error', just call `as_fatal' directly.
|
|
(VMS_Psect_Spec): Ditto.
|
|
(VMS_TBT_Module_Begin, VMS_TBT_Source_File, gen1,
|
|
VMS_typedef_parse, VMS_LSYM_Parse, VMS_Emit_Globalvalues): Call
|
|
as_tsktsk instead of printf.
|
|
(VMS_TBT_Module_Begin, VMS_TBT_Line_PC_Correlation,
|
|
VMS_TBT_Source_File, VMS_TBT_Source_Lines,
|
|
VMS_Store_Repeated_Data, VMS_Check_For_Main): Use explicit
|
|
integers rather than sizeof expressions using basic integer types,
|
|
in case host and target aren't the same. Use memcpy or COPY_*
|
|
macros instead of possibly unaligned word or longword assignment.
|
|
|
|
* config/obj-vms.h (OBJ_SYMFIELD_TYPE): New macro.
|
|
* config/obj-vms.c (VMS_Store_PIC_Symbol_Reference,
|
|
VMS_Check_For_Main, VMS_write_object_file): Use sy_obj instead of
|
|
forcing sy_number to hold a pointer.
|
|
|
|
Fri Dec 16 14:40:16 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
|
|
(md_relax_table): Use static initialization.
|
|
|
|
* config/tc-h8300.c (parse_exp, get_operands, clever_message,
|
|
md_assemble, tc_crawl_symbol_chain, md_undefined_symbol,
|
|
tc_headers_hook, md_operand, md_number_to_chars): Don't use DEFUN.
|
|
|
|
* Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET,
|
|
CC_FOR_TARGET, OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not
|
|
used.
|
|
(AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM,
|
|
NM_FOR_TARGET): Don't define.
|
|
(VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
|
|
(tooldir): Use exec_prefix, not libdir.
|
|
|
|
Fri Dec 16 11:07:10 1994 Stan Shebs <shebs@andros.cygnus.com>
|
|
|
|
* config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h.
|
|
|
|
* as.h: Include progress.h.
|
|
* as.c (main): Call START_PROGRESS and END_PROGRESS.
|
|
(main, perform_an_assembly_pass): Call PROGRESS.
|
|
|
|
Fri Dec 16 00:46:08 1994 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
|
|
|
|
* write.c (adjust_reloc_syms): Use bfd_is_und_section and
|
|
bfd_is_abs_section rather than comparing against &bfd_und_section
|
|
and &bfd_abs_section.
|
|
|
|
Thu Dec 15 15:27:14 1994 Jim Wilson <wilson@chestnut.cygnus.com>
|
|
|
|
* config/tc-sh.c (md_begin): Use a local variable when
|
|
initializing md_relax_table to avoid errors about modifying a
|
|
const data structure.
|
|
|
|
Tue Dec 13 15:42:27 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
|
|
appears to no longer be needed.
|
|
|
|
Tue Dec 13 08:04:15 1994 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
* config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
|
|
requiring that the X_op_symbol be in the text_section.
|
|
(macro): Change the test for a legel expression difference to
|
|
correspond to changes in pseudo_set in read.c.
|
|
|
|
Fri Dec 9 21:04:17 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use
|
|
bfd_install_relocation.
|
|
|
|
* ecoff.c (ecoff_set_gp_prolog_size): If there is no current
|
|
routine, just return.
|
|
|
|
* config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode
|
|
value from pattern instead of assuming jsr.
|
|
* config/alpha-opcode.h (jmp): Add a "1,Bc" form.
|
|
|
|
Thu Dec 8 17:48:25 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just
|
|
plain nm.
|
|
|
|
* configure.in (ns32k-pc532-mach*): Select correct emulation.
|
|
(mips-sony-bsd*): Use ecoff.
|
|
(mips-*-gnu*): New target, using aout format, from Roland McGrath.
|
|
* configure: Regenerated.
|
|
|
|
start-sanitize-arc
|
|
Tue Nov 29 18:12:22 1994 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* configure.in (arc-*-elf*): Recognize.
|
|
* configure: "regenerated".
|
|
* config/tc-arc.c, config/tc-arc.h, config/arc.mt: New files.
|
|
end-sanitize-arc
|
|
|
|
Tue Nov 29 13:58:10 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Use libiberty version of xmalloc:
|
|
* Makefile.in (REAL_SOURCES): Delete xmalloc.c.
|
|
(OBJS): Delete xmalloc.o.
|
|
(xmalloc.o): Delete dependencies.
|
|
* as.c (main): Call xmalloc_set_program_name once program name is
|
|
known.
|
|
|
|
* config/tc-alpha.c (in_range_signed, in_range_unsigned): New
|
|
routines, split from in_range.
|
|
(in_range): Deleted. All calls changed to in_range_*signed.
|
|
(create_lita_section): Macro deleted. Single use expanded in
|
|
place.
|
|
(alpha_ip): Handle `t' and `8' operand types.
|
|
(md_apply_fix): Handle BFD_RELOC_12_PCREL. Print name of
|
|
unhandled relocation types.
|
|
* config/alpha-opcode.h: Added HALT and DRAINA. Disabled MOVI,
|
|
since it doesn't work, and isn't supported by the native
|
|
assembler.
|
|
|
|
* input-scrub.c: Change wording of a comment to avoid interference
|
|
with Cygnus source-control tools.
|
|
|
|
* as.h (errno) [NEED_DECLARATION_ERRNO]: Declare.
|
|
|
|
* config/tc-m68k.c (init_table): List buscr and pcr control
|
|
registers.
|
|
(m68k_ip, case 'J'): Handle them.
|
|
|
|
Delete signal handler code. It's been disabled since March 1993
|
|
without complaints.
|
|
* as.c: Don't include signal.h.
|
|
(got_sig): Unused function deleted, declaration deleted.
|
|
(SIGTY): Macro deleted.
|
|
(main): Deleted disabled code for establishing signal handler.
|
|
|
|
start-sanitize-rce
|
|
Tiemann should've noted something like this:
|
|
* config/tc-rce.c, config/tc-rce.h: New files.
|
|
* as.c (main) [TC_RCE]: Call dump_literals.
|
|
* configure.in: Handle rce-*-aout.
|
|
* configure: Regenerated.
|
|
end-sanitize-rce
|
|
|
|
Mon Nov 28 11:37:35 1994 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
* app.c (do_scrub_next_char): Insert missing newline at end of file
|
|
like warning says we do.
|
|
|
|
Mon Nov 28 00:11:15 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (pa_check_eof): Declare new extern function.
|
|
(tc_frob_file): Define to call pa_check_eof.
|
|
|
|
* config/tc-hppa.c (pa_check_current_space_and_subspace): New
|
|
function to verify the current space and subspace are reasonable.
|
|
Call for the appropriate pseudo-ops and before instruction parsing.
|
|
(pa_check_eof): New function to verify enter/exit and proc/procend
|
|
pairs match at EOF.
|
|
(pa_code): Simplify.
|
|
|
|
* config/obj-som.c: Delete #if 0 code.
|
|
|
|
Wed Nov 23 19:36:09 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and
|
|
coff-sh.
|
|
* config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
|
|
* config/tc-sh.c (little): New function.
|
|
(md_parse_option): Notice new option.
|
|
(build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
|
|
Cope with little endian data.
|
|
* config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
|
|
|
|
Wed Nov 23 10:54:38 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
|
|
change. The real bug was in bfd/elfcode.h and has been fixed.
|
|
|
|
Tue Nov 22 23:31:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
|
|
to the relocation's offset.
|
|
|
|
Tue Nov 22 14:37:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* Makefile.in (INSTALL_XFORM): Fix typo.
|
|
|
|
Tue Nov 22 10:23:25 1994 J.T. Conklin <jtc@rtl.cygnus.com>
|
|
|
|
* config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
|
|
.set (no)volatile directives.
|
|
|
|
Tue Nov 15 21:44:13 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_subspace): Make sure to always reset
|
|
current_subspace.
|
|
(pa_text, pa_data): Likewise.
|
|
|
|
* config/tc-hppa.c (pa_align): New function. Aligns the current
|
|
offset within the current subspace along with updating the
|
|
alignment of the subspace itself.
|
|
(pa_subspace): Default alignment to one byte rathern than zero
|
|
bytes to avoid setting alignment to log2(0).
|
|
(md_pseudo_table): Use pa_alignment for .align.
|
|
|
|
Tue Nov 15 15:24:45 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* messages.c (as_fatal): Always put a space after "fatal error:"
|
|
when printing message.
|
|
|
|
Tue Nov 15 11:10:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (obj_frob_symbol): Delete.
|
|
(tc_frob_symbol): Make definition conditional on OBJ_SOM or
|
|
OBJ_ELF. For ELF subtract out symbol->section->vma for non common
|
|
symbols.
|
|
|
|
Wed Nov 9 14:53:03 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/te-delta.h: New file, derived from te-sysv32.h.
|
|
|
|
Wed Nov 9 11:52:44 1994 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_bf): Always set coff_line_base.
|
|
|
|
Mon Nov 7 01:58:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (VERSION): Bump to 2.5.3.
|
|
|
|
* configure.in: Compare generic cpu name against "sparc", not
|
|
"sparc*", since sparc variants should be changed to "sparc".
|
|
* configure: Regenerated with autoconf 2.1.
|
|
|
|
* config/tc-a29k.c (octal, toHex): Variables deleted.
|
|
(isoctal): Macro deleted.
|
|
(md_begin): Don't initialize them.
|
|
(machine_ip, case 'P'/'A'): For absolute operand, generate an
|
|
error message if it's out of range.
|
|
(md_apply_fix, case RELOC_JUMPTARG): Check range for PC-relative
|
|
jumps.
|
|
(md_apply_fix): Delete code inside "#if 0".
|
|
|
|
Thu Nov 3 20:20:40 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/go32.mh: Unused file deleted.
|
|
|
|
* read.c (get_absolute_expression): Indicate that the error may
|
|
merely be that the expression can't currently be reduced.
|
|
|
|
Thu Nov 3 16:09:59 1994 J.T. Conklin (jtc@rtl.cygnus.com)
|
|
|
|
* config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
|
|
"a.out-m68k-netbsd".
|
|
* config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
|
|
"a.out-sparc-netbsd".
|
|
|
|
* config/te-nbsd.h: New file, NetBSD target emulation
|
|
* config/te-netbsd.h: Removed.
|
|
* configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
|
|
Set bfd_gas. Use nbsd emulation.
|
|
|
|
Thu Nov 3 17:44:47 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
Changes from net 2.5.2 release branch:
|
|
|
|
* configure.in: Put AC_DEFINE(sparcv9) on its own line, so that
|
|
the shell variable settings associated with it are permanent. For
|
|
CPUs requiring bfd_gas=yes, select it based on CPU only, not
|
|
individual target names. Handle m68k-hp-hpux*, not just -hpux.
|
|
|
|
* config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument
|
|
to match prototype in obj-coff.h.
|
|
|
|
* configure.in: Skip tests for defining WANT_FOPEN_BIN and
|
|
IBM_COMPILER_SUX.
|
|
* acconfig.h: Deleted them.
|
|
* configure, conf.in: Rebuild with autoconf 2.0.
|
|
* config/go32.cfg, config/vms-conf.h: Updated.
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
|
|
IBM_COMPILER_SUX version of code, with comments indicating why.
|
|
|
|
* listing.c (file_info): Use text mode when opening file for read.
|
|
Use "r" directly, no macro.
|
|
* input-file.c (input_file_open): Don't use FOPEN_RT, just use
|
|
"r".
|
|
* read.c (s_include): Ditto.
|
|
* output-file.c (output_file_create): Try both "wb" and "w", don't
|
|
bother with FOPEN_* macros.
|
|
* as.h: Don't include fopen-*.h.
|
|
|
|
* config/alpha-opcode.h: Make "ret" with no operands equivalent to
|
|
"ret zero,(ra)", to match OSF1 and to be consistent with both
|
|
one-operand forms.
|
|
|
|
Patches from DJ Delorie:
|
|
* as.h (alloca): undef alloca before defining it just in case
|
|
* config/go32.cfg: new file for autoconf values
|
|
* config/te-go32.h: new file
|
|
* configure.bat: new for autoconf
|
|
|
|
* config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had =
|
|
for ==.
|
|
|
|
* configure.in: If target_frag doesn't exist, use /dev/null.
|
|
|
|
* as.c (parse_args): For non-VMS systems, re-add `v' to
|
|
std_shortopts. Add "verbose" to list of long options.
|
|
|
|
* write.c (adjust_reloc_syms): When generating an absolute section
|
|
symbol as a placeholder, don't mark it as used in a relocation
|
|
entry, here.
|
|
|
|
* Makefile.in (comparison): Compare using makefile code from gcc,
|
|
stripped down to discard subdir stuff and adapted to give a
|
|
non-zero exit status if either file differs.
|
|
|
|
Thu Nov 3 15:43:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
|
|
NO_PIC case.
|
|
|
|
Tue Nov 1 16:10:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
|
|
switching to the readonly data section.
|
|
|
|
* ecoff.c (ecoff_directive_type): Fix warning message.
|
|
|
|
Sun Oct 30 00:57:35 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_proc): Delete disabled code to put each
|
|
proc in its own subspace, we're not going to use it.
|
|
|
|
Tue Oct 25 14:44:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
|
|
.rdata does not become a variant frag.
|
|
|
|
* config/tc-mips.c (mips_cpu): Initialize to -1.
|
|
(md_begin): Don't mips_cpu if it was already set.
|
|
(md_parse_option): For -mipsN, don't set mips_cpu if it was
|
|
already set. For -mcpu=, just set mips_cpu, not mips_isa.
|
|
|
|
Fri Oct 21 20:42:29 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
|
|
(s_elf_section): New static function.
|
|
* ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
|
|
the section when setting the storage class; default to sc_Data.
|
|
|
|
Thu Oct 20 00:43:38 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
|
|
fixups to branch instructions (not just pc-relative ones) which
|
|
will generate SOM relocations.
|
|
|
|
Wed Oct 19 13:41:56 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-a29k.c: Include ctype.h with angle brackets.
|
|
(define_some_regs): Add new special register names defined on the
|
|
29040.
|
|
(parse_operand): Add argument opt. If non-zero, don't warn about
|
|
a missing operand.
|
|
(machine_ip): If handling argument type 'I', pass opt as non-zero
|
|
to parse_operand. Handle new optional operand type 'I'.
|
|
(md_undefined_symbol): Handle special register names (srNN).
|
|
|
|
Tue Oct 18 00:45:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* write.c (renumber_sections): New static BFD_ASSEMBLER function.
|
|
(write_object_file): Call it after removing gas created sections.
|
|
|
|
Mon Oct 17 18:06:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* symbols.c (symbol_create): Use udata.p, not just udata.
|
|
* config/obj-elf.c (obj_ecoff_set_ext): Likewise.
|
|
(elf_get_extr): Likewise.
|
|
|
|
* read.c (read_a_source_file): The second argument to as_where is
|
|
unsigned int *, not int *.
|
|
|
|
Mon Oct 17 02:26:32 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Eliminate all uses of fx_addnumber.
|
|
(tc_gen_reloc): Simplify. It's no longer necessary to set a
|
|
reloc's addend field to zero for function symbols.
|
|
(md_apply_fix): Simplify. For fixups which will require a SOM
|
|
reloc, just clear out the necessary bits in the output file.
|
|
|
|
Fri Oct 14 19:06:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (BISON): Use bison -y, not bison.
|
|
|
|
Thu Oct 13 19:22:54 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (VERSION): Updated to 2.5.
|
|
(clean-here): Delete stamp-mk.com.
|
|
(distclean): Delete .gdbinit.
|
|
* Version 2.5 released.
|
|
|
|
Wed Oct 12 20:30:51 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/te-nbsd532.h: Renamed from te-netbsd532.h.
|
|
* configure.in, configure: Adjusted.
|
|
|
|
Wed Oct 12 16:33:38 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
|
|
|
* config/cplus-dem.c: Removed. It isn't used. Even if it was,
|
|
it's better to use the one in libiberty.
|
|
|
|
Wed Oct 12 18:48:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* symbols.c (resolve_symbol_value, case O_symbol): Undo last
|
|
change; it breaks the rs6000 support, and doesn't seem to be
|
|
needed.
|
|
|
|
Wed Oct 12 11:56:50 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
|
|
|
* config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
|
|
a.out-<arch>-netbsd to match corresponding changes in BFD.
|
|
|
|
Wed Oct 12 11:06:11 1994 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
|
|
rather than explicitly adding the frag address.
|
|
* config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
|
|
the end of the line numbers; this replaces the zero entry which
|
|
used to be added by coff_add_linesym, removed Oct 7.
|
|
(coff_adjust_section_syms): Ignore sections with no seginfo.
|
|
|
|
Wed Oct 12 01:41:37 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a
|
|
"stage" symlink to the appropriate stage* directory, and use it
|
|
instead in the -B options.
|
|
(comparison): Revert yesterday's change.
|
|
|
|
Tue Oct 11 16:48:11 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if
|
|
pc-relative, use fx_offset only, ignore address of relocation.
|
|
|
|
Tue Oct 11 15:24:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
|
|
for an embedded PIC switch expression, since the definition of
|
|
S_IS_LOCAL was changed.
|
|
|
|
Tue Oct 11 15:05:11 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* Makefile.in (comparison): When comparing as.new or gasp.new, try
|
|
running the binary through sed to avoid differences due to
|
|
"stage1" or "stage2" having been written into the binary.
|
|
|
|
Sat Oct 8 01:48:04 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
ELF symbol size handling, based on code from Eric Youngdale:
|
|
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): New macro. Adds an
|
|
expression pointer to the symbol structure, used for `size'
|
|
expressions that couldn't be reduced to constants when initially
|
|
processed.
|
|
(elf_frob_symbol): Declare.
|
|
(obj_frob_symbol): Call elf_frob_symbol always, rather than
|
|
ecoff_frob_symbol only if ECOFF_DEBUGGING defined.
|
|
* config/obj-elf.c (obj_symbol_new_hook): Deleted unused code.
|
|
Clear sy_obj field.
|
|
(obj_elf_size): Deleted unused code. If size is non-reducible
|
|
expression, allocate some storage for the sy_obj field and copy
|
|
the expression.
|
|
(elf_frob_symbol): New function. Computes sizes, calls
|
|
ecoff_frob_symbol if appropriate.
|
|
|
|
* write.c (fixup_segment): For i386 elf and coff (for now), don't
|
|
add in value of symbol from another defined section of the file.
|
|
|
|
Fri Oct 7 17:54:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/tc-m88k.h (TC_KEEP_FX_OFFSET): Define.
|
|
* config/obj-coff.c (do_relocs_for): Test only TC_KEEP_FX_OFFSET,
|
|
rather than both it and TC_M88K.
|
|
(coff_adjust_section_syms): New function.
|
|
(coff_frob_section): For non-empty sections, create aux entry for
|
|
the section symbol, indicating the size.
|
|
(n_line_nos): New variable.
|
|
(add_lineno): Increment it.
|
|
(coff_add_linesym): Increment n_line_nos, don't call add_lineno.
|
|
(coff_frob_file): New function; map coff_adjust_section_syms over
|
|
sections.
|
|
(obj_coff_line): Only reset line_base for .bf symbols.
|
|
* config/obj-coff.h (coff_adjust_section_syms, coff_frob_file):
|
|
Declare.
|
|
(obj_frob_file): New macro.
|
|
|
|
* config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Renamed from
|
|
obj_frob_forward_symbol, and rewritten for new parameter list.
|
|
|
|
Mon Oct 3 21:02:38 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (S_IS_LOCAL): fix obsolete flagseen[] reference.
|
|
|
|
Wed Oct 5 11:49:26 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
|
|
|
* config/obj-ecoff.c (obj_pseudo_table): Accept .esize and .etype
|
|
as synonyms for .size and .type.
|
|
|
|
Wed Oct 5 00:08:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-coff.c (coff_frob_section): Remove assert about
|
|
section alignment.
|
|
* config/tc-sparc.c (md_section_align): Use section alignment, not
|
|
xvec align_power_min field.
|
|
|
|
Fri Sep 30 19:05:20 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* vmsconf.sh (make-gas.com): handle DCL verification to enable
|
|
sensible feedback to the user while gas is being built.
|
|
|
|
Fri Sep 30 16:23:31 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (DISTSTUFF): New variable, listing only make-gas.com
|
|
for now.
|
|
(diststuff): New target; builds DISTSTUFF.
|
|
(realclean): Separate target, depend on clean and distclean, then
|
|
delete DISTSTUFF.
|
|
* make-gas.com: Deleted.
|
|
|
|
* config/tc-i386.c (i386_validate_fix) [BFD_ASSEMBLER]: New
|
|
function. Converts reloc for "foo-GOT" to BFD_RELOC_386_GOTOFF
|
|
reloc for "foo".
|
|
(i386_operand): Don't look up section symbol for
|
|
undefined_section.
|
|
(reloc): Always permit return of 8- and 16-bit relocation types.
|
|
Add a space after "pc-relative" in the error message.
|
|
(tc_i386_fix_adjustable) [BFD_ASSEMBLER]: Reject
|
|
BFD_RELOC_386_GOTOFF relocs.
|
|
(i386_operand): For any GOTOFF reloc, convert it to a BFD_RELOC_32
|
|
with a "foo-GOT" value.
|
|
* config/tc-i386.h (i386_validate_fix): Declare it.
|
|
(TC_VALIDATE_FIX): New macro -- call it.
|
|
(NOP_OPCODE): Cast to `char' to avoid compiler warnings.
|
|
|
|
* as.h: If __STDC__ is not defined and varargs.h is available, use
|
|
it rather than stdarg.h.
|
|
|
|
* write.h (struct fix): Added new bitfield fx_plt, for fixups
|
|
referring to PLT entries.
|
|
* write.c (fix_new_internal): Initialize fx_plt to zero.
|
|
(adjust_reloc_syms): Re-fetch `sym' after top of reduction loop.
|
|
Don't adjust fx_offset by frag address, since S_GET_VALUE now
|
|
includes the frag address.
|
|
(fixup_segment): Changed local var PCREL to type int, added PLT.
|
|
If PC-relative fixup refers to a PLT entry for a symbol in the
|
|
current section, don't reduce it.
|
|
|
|
* write.c (adjust_reloc_syms): Exit loop through a label. If
|
|
DEBUG5 is defined, print out each fixup before and after
|
|
processing.
|
|
(fixup_segment): If DEBUG5 is defined, print out each fixup before
|
|
and after processing.
|
|
(print_fixup): Added prototype. Show address on first line. Show
|
|
fx_offset and fx_subsy. [!BFD_ASSEMBLER]: Only show fx_r_type if
|
|
NEED_FX_R_TYPE is defined.
|
|
|
|
* symbols.c (print_symbol_value_1): Check S_IS_LOCAL, S_IS_EXTERN,
|
|
S_IS_DEBUG, S_IS_DEFINED also.
|
|
|
|
Thu Sep 29 18:57:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* Makefile.in (all): Depend on .gdbinit.
|
|
(.gdbinit): Rebuild from gdbinit.in by running config.status.
|
|
|
|
* gdbinit.in: Define new function "pf". Fix doc on "pe" and "ps".
|
|
|
|
* write.c (print_fixup): Print source location on first line.
|
|
Show fx_r_type and fx_addsy fields.
|
|
|
|
Wed Sep 28 14:56:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* configure.in: Set bfd_gas for all sparc targets in one place,
|
|
instead of separately for each. Correctly handle user-supplied
|
|
"--enable-bfd-gas" option.
|
|
|
|
* gdbinit.in: Move "break abort" to end, in case gdb complains.
|
|
|
|
* as.h (PRINTF_WHERE_LIKE, PRINT_LIKE) [USE_STDARG, !__GNUC__]:
|
|
Use PARAMS macro.
|
|
|
|
* symbols.c (resolve_symbol_value, case O_symbol): Don't do any
|
|
processing if add_symbol is undefined or in expr_section.
|
|
(resolve_symbol_value, case O_add): For symbol plus
|
|
constant-valued symbol, convert to O_symbol and re-reduce.
|
|
(S_GET_VALUE): If symbol needs resolving, resolve it.
|
|
(indent_level): No longer static.
|
|
(print_symbol_value_1): Don't print frag address if it matches
|
|
zero_address_frag. Don't print "resolving" if already resolved.
|
|
Print segment name. Don't call print_expr_1 on an undefined
|
|
symbol.
|
|
(print_expr_1): Fix whitespace before printing X_add_number.
|
|
|
|
* expr.c (make_expr_symbol): No longer static. Use symbol_create,
|
|
not symbol_new, for symbols holding expression values.
|
|
* expr.h (make_expr_symbol): Move declaration here.
|
|
* write.c (fix_new_exp): Handle O_add by creating an
|
|
expression-valued symbol, and calling fix_new_exp recursively.
|
|
(adjust_reloc_syms): If a fixup's symbol value is a sum of an
|
|
undefined symbol and a constant, fold the constant into the fixup,
|
|
and refer to the undefined symbol directly. Then process the
|
|
fixup again from scratch.
|
|
(write_object_file): Before calling adjust_reloc_syms, make a pass
|
|
through the symbol list trying to resolve values.
|
|
|
|
* write.c (print_fixup): New routine, for debugging.
|
|
(write_relocs): Call bfd_install_relocation. Deleted various
|
|
hacks for working around problems with bfd_perform_relocation.
|
|
|
|
* Makefile.in (VERSION): Update to 2.4.90.
|
|
|
|
Wed Sep 28 11:50:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* Makefile.in (gasp.o): Depends upon config.h.
|
|
|
|
* config/tc-mips.c: Include subsegs.h.
|
|
(md_apply_fix): If an unconditional b or bal overflows, and we are
|
|
not assembling PIC code, replace it with a j or jal.
|
|
|
|
* config/tc-mips.c (md_apply_fix): Correct branch overflow test.
|
|
Use as_bad_where and as_warn_where rather than as_bad and as_warn.
|
|
|
|
Mon Sep 26 17:15:59 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* write.c (write_relocs): Add file name and line number to
|
|
as_fatal calls. Handle bfd_reloc_overflow case specifically when
|
|
RELOC_EXPANSION_POSSIBLE.
|
|
|
|
Fri Sep 23 16:11:28 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* as.h (USE_STDARG, USE_VARARGS): Define one or neither of these
|
|
here. Use them for deciding which PRINTF*LIKE macro definitions
|
|
to use.
|
|
* messages.c: Use them, instead of NO_STDARG, NO_VARARGS.
|
|
[!USE_STDARG && !USE_VARARGS] (va_alist, va_dcl, ...): Provide
|
|
default definitions matching what we were doing before.
|
|
(as_tsktsk): Remove the non-stdarg, non-varargs version, and
|
|
always use the varargs form if not using stdarg. It's safe to
|
|
always use vfprintf, because libiberty will provide it if the
|
|
native system doesn't. Also, always make format be const.
|
|
(as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
|
|
|
|
Fri Sep 23 14:42:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (load_register): Always use addiu when adding a
|
|
constant to $zero--no need to use daddiu.
|
|
(macro): Hack the -mips3 overflow tests to not fail when offsetT
|
|
is only 32 bits.
|
|
|
|
* symbols.h (copy_symbol_attributes): Declare.
|
|
|
|
Thu Sep 22 21:58:24 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* listing.c: Bugfixes based in part on patches from Paul
|
|
Kranenburg.
|
|
(listing_newline): Check filename as well as line number when
|
|
deciding whether to record it.
|
|
(list_symbol_table) [S_IS_REGISTER]: Check that S_IS_REGISTER is
|
|
false (if defined) as well as checking for reg_section.
|
|
(listing_listing): Iterate fetching lines while line number is too
|
|
low, and we haven't run off the end of the input file.
|
|
|
|
* config/vms-conf.h: Changed HAVE_DELETE to HAVE_REMOVE.
|
|
|
|
Thu Sep 22 13:39:10 1994 Kung Hsu (kung@x1.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_generate_asm_lineno): check if
|
|
current_stabs_filename is NULL before strcmp.
|
|
* read.c (read_a_source_file): fix a bug in generate_asm_lineno
|
|
checking.
|
|
|
|
Wed Sep 21 18:17:35 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
|
|
|
* config/ho-*.h: Now-unused files deleted.
|
|
|
|
* symbols.c (copy_symbol_attributes): New function. Copies BFD
|
|
symbol flags and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
|
|
(resolve_symbol_value, case O_symbol): Call it, if X_add_number is
|
|
zero. Don't call obj_frob_forward_symbol.
|
|
* read.c (pseudo_set): Call copy_symbol_attributes, but only if
|
|
X_add_number is zero.
|
|
* config/obj-elf.h (obj_frob_forward_symbol): Deleted.
|
|
|
|
* config/tc-i960.c: Lots of whitespace, comment reformatting,
|
|
using GNU indent.
|
|
(strchr): Don't declare.
|
|
[BFD_ASSEMBLER]: Don't compile md_convert_frag,
|
|
md_estimate_size_before_relax, md_ri_to_chars,
|
|
md_create_short_jump, md_create_long_jump.
|
|
(brtab_emit): Use data_section, not SEG_DATA.
|
|
|
|
Mon Sep 19 17:14:44 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/vms-conf.h: new file, manually derived from conf.in.
|
|
* config-gas.com: use it, and eliminate obsolete "host.h".
|
|
|
|
Wed Sep 21 11:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_current_block): New static variable.
|
|
(ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
|
|
ppc_current_block. Don't move around any stab symbol, just those
|
|
for common symbols.
|
|
(ppc_bs): Set ppc_current_block.
|
|
(ppc_es): Clear ppc_current_block.
|
|
(ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
|
|
from the csect of the enclosing block.
|
|
|
|
* config/tc-mips.c (insns_since_cache_access): Remove.
|
|
(append_insn): Remove setting of insns_since_cache_access, and
|
|
special 4600 handling; it turns out not to be required.
|
|
|
|
Tue Sep 20 16:13:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (md_shortopts): Remove E.
|
|
(md_longopts): Add EB and EL.
|
|
(md_parse_option): Handle -EB and -EL as separate options, rather
|
|
than as a single -E option with an argument.
|
|
|
|
Mon Sep 19 12:42:05 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
|
|
involving global symbols too.
|
|
|
|
Mon Sep 19 12:12:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
|
|
|
|
* configure.in: Test for remove, not delete. Fix cross-assembler
|
|
test.
|
|
* as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to
|
|
remove, not delete.
|
|
|
|
* read.c (pseudo_set, case O_symbol): If
|
|
OBJ_COPY_SYMBOL_ATTRIBUTES is defined, invoke it.
|
|
[BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
|
|
* config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
|
|
|
|
Wed Aug 10 19:15:30 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (DSG_S_C_UBITU, DST_K_VFLAGS_DSC, DST_K_TS_ATOM,
|
|
many others): new macros; values obtained from "DSTRECRDS.SDL".
|
|
* config/obj-vms.h (various): use them.
|
|
(USE_BITSTRING_DESCRIPTOR): new macro, for selecting bitfield
|
|
representation (only enum bitfields can avoid being bitstrings).
|
|
(bitfield_suffix, setup_basic_type): new routines.
|
|
(VMS_typedef_parse): use them. Now recognize bitfields of all
|
|
integral types, not just type `int'. Caveat: the representation
|
|
used for bitfields still does not work for objects placed in
|
|
registers, and gcc's optimizer sometimes puts small structs there.
|
|
|
|
Tue Jun 14 17:31:44 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* read.c (s_text) [#if OBJ_VMS]: clear the IN_DEFAULT_SECTION
|
|
bit from const_flag.
|
|
* config/obj-vms.h (IN_DEFAULT_SECTION): define this macro.
|
|
(tc_frob_label): define this to call vms_check_for_special_label,
|
|
and declare the latter.
|
|
* config/obj-vms.c (vax_g_doubles): declare this file-scope
|
|
variable.
|
|
(const_flag): initialize to IN_DEFAULT_SECTION instead of 0.
|
|
(vms_check_for_special_label): new routine (tc_frob_label).
|
|
(VMS_TBT_Routine_End): don't bother checking for `gcc_compiled.'
|
|
and `gcc2_compiled.' labels; they won't reach here any more.
|
|
(VMS_typedef_parse) [case 'r']: for types `double' and `complex
|
|
double', use `vax_g_doubles' flag to select type of double.
|
|
(VMS_write_object_file) [traceback setup]: don't pass symbols
|
|
with the IN_DEFAULT_SECTION attribute to the TBT_Routine_Begin
|
|
and TBT_Routine_End functions.
|
|
|
|
Mon Jun 6 20:52:20 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c (VMS_TBT_Routine_End): cache the result of
|
|
S_GET_VALUE() to avoid many repeated function calls.
|
|
(VMS_Check_For_Main) [#if HACK_DEC_C_STARTUP]: capitalize
|
|
_C$MAIN_ARGS in advance, in case -h3 (leave symbol name as-is)
|
|
gets requested. [All the HACK_DEC_C_STARTUP code appears to
|
|
be obsolete; gcc does it automatically for vms target. It's
|
|
also misnamed, because it is for the "VAX C" run-time library,
|
|
not the newer "DEC C" one which has much different startup code.]
|
|
{various}: use `S_SET_xxx(symbol,new_value)' rather than
|
|
`S_GET_xxx(symbol) = new_value'.
|
|
|
|
Mon Sep 19 12:05:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
|
|
not &bfd_abs_section.
|
|
|
|
Thu Sep 15 18:36:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* expr.c (clean_up_expression): Use addressT, not bfd_vma.
|
|
|
|
Tue Sep 13 20:05:47 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* expr.c (expr): Don't reduce the difference of two symbols in the
|
|
same frag if the symbols are not in normal sections.
|
|
|
|
* config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
|
|
(S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
|
|
(obj_attach_unwind_info): Do not define. Not needed anymore.
|
|
* config/tc-hppa.c: Delete whitespace at EOL.
|
|
(struct hppa_fix_struct): Delete fx_unwind field and all references.
|
|
(fix_new_hppa): Last arg is now a pointer to an int. Do not
|
|
call obj_attach_unwind_info anymore. For SOM R_ENTRY and R_EXIT
|
|
fixups, store 32bits of unwind information in the fx_addnumber
|
|
field of the fixup.
|
|
(md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
|
|
and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
|
|
pointer to 32 bits of unwind info.
|
|
(tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
|
|
pointer to the dummy symbol; set the addend field to fx_addnumber.
|
|
(pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
|
|
rather than &bfd_XXX_section.
|
|
|
|
Tue Sep 13 21:15:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-i386.c (md_apply_fix_1): For GOTPC relocs, decrement
|
|
value by one; discard adjustments previously being made. From
|
|
Eric Youngdale.
|
|
|
|
VMS- and Vax-related changes from Pat Rankin:
|
|
* Makefile.in (VMS_OTHER_OBJS): add concat, getopt, and getopt1.
|
|
* vmsconf.sh: no longer have make-gas.com echo text about needing
|
|
to modify the gcc-vms driver when intending to use with gcc 1.x.
|
|
* as.c (parse_options): suppress 'v' from std_short_options and
|
|
eliminate VMS-specific conditional initialization;
|
|
[default case]: check for '-v' if md_parse_options doesn't recognize
|
|
an option;
|
|
[default case, #if VMS]: check for filename argument when '-v' seen;
|
|
[case 'v']: delete.
|
|
* config/tc-vax.c (md_assemble): don't rely on `this_add_number'
|
|
for O_big literal operands (double floats and long long ints);
|
|
[VMS, md_shortopts]: add second colon after 'v';
|
|
(md_parse_options) [VMS, case 'v']: check for argument, so
|
|
caller can handle `-v' w/o arg.
|
|
|
|
Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/obj-coff.c (do_relocs_for): If TC_KEEP_FX_OFFSET
|
|
is defined, put the tx_offset into the r_offset.
|
|
* config/tc-sh.c (line_comment_chars): Add #
|
|
(tc_reloc_mangle): Deleted.
|
|
* config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
|
|
(TC_RELOC_MANGLE): Delete.
|
|
|
|
Tue Sep 13 16:20:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* flonum-konst.c: Change preprocessor tests of HO_VMS to just VMS.
|
|
* hex-value.c: Ditto.
|
|
* config/obj-vms.c: Ditto.
|
|
|
|
* config/tc-sparc.c (sparc_ip): Replace as_bad/exit sequence with
|
|
a call to as_fatal.
|
|
* config/tc-i860.c (i860_ip): Ditto.
|
|
* config/tc-hppa.c (pa_ip): Ditto.
|
|
* config/tc-alpha.c (alpha_ip): Ditto.
|
|
* as.c (parse_args): Ditto.
|
|
|
|
* config/tc-mips.c (mips_ip): Replace as_warn/exit sequence with a
|
|
call to as_fatal.
|
|
|
|
* write.c (write_contents): Use EXIT_FAILURE.
|
|
* output-file.c (output_file_create, output_file_close,
|
|
output_file_create, output_file_close): Ditto.
|
|
* messages.c (as_fatal): Ditto.
|
|
* config/obj-som.c (obj_som_version, obj_som_copyright): Ditto.
|
|
* config/obj-ieee.c (write_object_file): Ditto.
|
|
* config/obj-coff.c (write_object_file): Ditto.
|
|
* config/tc-vax.c (main): Use EXIT_SUCCESS.
|
|
* config/tc-m68k.c (main): Ditto.
|
|
|
|
* hash.c (main): Pass a value to exit().
|
|
|
|
* as.h (EXIT_SUCCESS, EXIT_FAILURE): Moved here.
|
|
* as.c: ...from here.
|
|
(parse_args): Use them always.
|
|
(main): Use exit rather than return.
|
|
|
|
* Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall):
|
|
Rewrite handling of program_transform_name.
|
|
|
|
* configure.in: Test for functions unlink and delete.
|
|
* as.h: If unlink isn't available but delete is, define unlink to
|
|
be delete.
|
|
|
|
Update for autoconf 1.118:
|
|
* gdbinit.in: New file, created from old .gdbinit.
|
|
* .gdbinit: Deleted.
|
|
* aclocal.m4 (GAS_GDBINIT): Deleted.
|
|
* configure.in: Don't use it. Instead, generate .gdbinit from
|
|
gdbinit.in. Don't substitute cpu_type, obj_format, emulation,
|
|
atof. Switched order of AC_LINK_FILES arguments. Use AC_PREREQ
|
|
to ensure that older versions of autoconf aren't used.
|
|
* Makefile.in: Added @configure_input@ line.
|
|
(configure): Deleted rule.
|
|
|
|
Tue Sep 13 12:08:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-coff.c (fixup_segment): After handling the difference
|
|
of two symbols from the same segment, set fx_subsy to NULL, to
|
|
satisfy existing TC_COUNT_RELOC macros.
|
|
|
|
Tue Sep 13 01:47:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* aclocal.m4 (GAS_GDBINIT): New macro.
|
|
* configure.in: Use it.
|
|
* configure: Regenerated.
|
|
|
|
Mon Sep 12 20:56:38 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
|
|
|
* .gdbinit (pe, ps): Define new commands.
|
|
* symbols.c (indent_level): New static variable.
|
|
(indent, print_expr_1, print_symbol_value_1, print_symbol_value,
|
|
print_expr): New functions.
|
|
|
|
* Makefile.in (config-stamp): Add a "this file generated by make"
|
|
message to config.h.
|
|
|
|
PIC implementation for i386-linux, based on code from Eric
|
|
Youngdale and Paul Kranenburg, with some work of my own:
|
|
|
|
* write.c (fixup_segment): Test TC_RELOC_RTSYM_LOC_FIXUP on fixup
|
|
before processing same-section pcrel relocations.
|
|
(TC_RELOC_RTSYM_LOC_FIXUP): Default to 1.
|
|
|
|
* expr.c (make_expr_symbol): If operator is O_symbol and
|
|
X_add_number is zero, just return the symbol. If operator is
|
|
O_constant, resolve the symbol's value before returning.
|
|
(operand): Permit use of "[]" for grouping.
|
|
(clean_up_expression): For difference of two symbols in the same
|
|
frag, add the difference of their offsets into X_add_number.
|
|
(expr): Reduce difference of two symbols in same frag to their
|
|
difference.
|
|
|
|
* config/tc-i386.c (TC_RELOC): New macro.
|
|
(struct _i386_insn): New field disp_reloc.
|
|
(GOT_symbol): New variable.
|
|
(operand_special_chars): Added square-brackets and at-sign.
|
|
(reloc) [BFD_ASSEMBLER]: Added new argument OTHER; if it is not
|
|
NO_RELOC, just return it.
|
|
(reloc) [! BFD_ASSEMBLER]: Add third argument to dummy macro.
|
|
(BFD_RELOC_386_PLT32, _GOT32, _GOTOFF) [! BFD_ASSEMBLER]: More
|
|
dummy macros.
|
|
(tc_i386_fix_adjustable): New function. Returns zero if symbol in
|
|
fixup is not local, to prevent relocations against externals from
|
|
being dropped.
|
|
(md_assemble): Initialize disp_reloc field to NO_RELOC. Pass
|
|
disp_reloc field to reloc() function, and use TC_RELOC to generate
|
|
value to pass to fix_new_exp.
|
|
(md_assemble): Change 32-bit reloc against GOT_symbol into a GOTPC
|
|
reloc.
|
|
(i386_operand): Initialize disp_reloc field to NO_RELOC. Handle
|
|
@GOTOFF, @PLT, @GOT operands. For GOTOFF relocations with local
|
|
symbols, force generation of the section symbol.
|
|
(md_estimate_size_before_relax): If GOT_symbol exists, decide
|
|
we're generating PIC code, and convert relocations against
|
|
undefined symbols from PCREL to PLT32.
|
|
(md_apply_fix_1) [OBJ_ELF]: Fix up values for dynamic-linking
|
|
relocs.
|
|
(md_undefined_symbol): Notice GLOBAL_OFFSET_TABLE_NAME and set
|
|
and return GOT_symbol if it matches.
|
|
(F, MAP): Move macro definitions outside function.
|
|
(tc_gen_reloc): Only switch on size and pcrel if code wasn't
|
|
already supplied as PLT32. GOT32, GOTOFF, or GOTPC. Convert
|
|
BFD_RELOC_32 using GOT_symbol into GOTPC.
|
|
* config/tc-i386.h (TC_RELOC, tc_fix_adjustable,
|
|
TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): New
|
|
macros.
|
|
(NEED_FX_R_TYPE): Define.
|
|
(LOCAL_LABEL): Accept ".X" prefix too.
|
|
(GLOBAL_OFFSET_TABLE_NAME): Default to "_GLOBAL_OFFSET_TABLE_".
|
|
|
|
Mon Sep 12 17:51:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
|
|
reportedly to be used on Irix 6.
|
|
|
|
* config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
|
|
(s_mips_globl): New static function; needed for Irix 5 support.
|
|
* ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
|
|
external symbol with no type, set the type to st_Proc rather than
|
|
st_Global. Don't set the index of an external st_Proc or
|
|
st_StaticProc symbol unless it is also a local symbol.
|
|
|
|
* read.c (read_a_source_file): The second argument to as_where is
|
|
unsigned int *, not int *.
|
|
|
|
Thu Sep 8 17:18:24 1994 Kung Hsu (kung@mexican.cygnus.com)
|
|
|
|
* config/obj-ecoff.h : Change names to OBJ_GENERATE_ASM_LINENO,
|
|
and generate_asm_lineno.
|
|
* config/obj-elf.h : ditto.
|
|
* read.h : ditto.
|
|
* read.c (read_a_source_file): if no file when inst is read, set
|
|
generate_asm_lineno to true.
|
|
* ecoff.h : change name to generate_asm_lineno and add function
|
|
ecoff_no_current_file.
|
|
* ecoff.c : change name to generate_asm_lineno.
|
|
* ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
|
|
ecoff style line for asm file.
|
|
|
|
Thu Sep 8 19:43:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-coff.c (size_section): Do an fprintf to stderr rather
|
|
than a printf.
|
|
(fixup_segment): Use as_bad_where rather than as_bad.
|
|
|
|
Wed Sep 7 17:21:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing
|
|
nothing becomes macro doing nothing.
|
|
|
|
Wed Sep 7 19:10:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* Makefile.in (Makefile): Depend on config.status.
|
|
(config.status): Run config.status from . instead of srcdir.
|
|
|
|
* config/tc-i386.c (tc_gen_reloc): Use bfd_get_reloc_code_name to
|
|
display the name of the relocation type that couldn't be handled.
|
|
* config/tc-sparc.c (tc_gen_reloc): Likewise.
|
|
* config/tc-alpha.c (tc_gen_reloc): Likewise. Deleted abort call
|
|
after call to as_fatal.
|
|
|
|
* configure.in (i386-*-linux*): Don't set bfd_gas.
|
|
|
|
* Makefile.in (CC_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET,
|
|
install, uninstall): Don't use "brokensed" hack any more, the new
|
|
autoconf code should never let program_transform_name be empty.
|
|
|
|
Update for autoconf beta 1.112:
|
|
* aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New
|
|
macros.
|
|
* configure.in: Use them. Use AC_ARG_PROGRAM (now provided by
|
|
autoconf) instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move
|
|
test for CROSS_COMPILE just before AC_FUNC_ALLOCA, and emit a
|
|
message to try to ease confusion about autoconf's
|
|
"cross-compiling" message.
|
|
* acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
|
|
NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
|
|
* configure, conf.in: Regenerated.
|
|
|
|
Wed Sep 7 12:49:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* configure.in: Check ${host} and ${target} rather than
|
|
${host_canon} and ${target_canon}.
|
|
* configure: Likewise.
|
|
|
|
Tue Sep 6 11:42:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_cpu): New static variable.
|
|
(insns_since_cache_access): New static variable.
|
|
(md_begin): Set mips_cpu as well as mips_isa.
|
|
(append_insn): If mips_cpu is 4600, require four nop instructions
|
|
between an instruction which accesses the cache and certain CACHE
|
|
instructions. Keep track of the number of instructions seen since
|
|
an instruction which accesses the cache.
|
|
(md_parse_option): Set mips_cpu as well as mips_isa.
|
|
|
|
Mon Sep 5 07:09:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* doc/Makefile.in (VPATH): Define using @srcdir@.
|
|
(prefix, program_transform_name, exec_prefix): Use autoconf style
|
|
@-substitutions.
|
|
|
|
Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
|
|
|
* config/ho-riscix.h, config/tc-arm.c, config/tc-arm.h: New files
|
|
* configure.in: Recognize the arm.
|
|
|
|
Fri Sep 2 16:05:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* ecoff.c (add_file): Don't try to generate line numbers if the
|
|
symbol table has been frozen.
|
|
|
|
Thu Sep 1 19:48:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* aclocal.m4 (AC_PROG_CC): Use AC_DEFUN, and omit AC_PROVIDE.
|
|
|
|
* configure.in: Handle user-specified bfd-assembler option with
|
|
separate variable from preferred configuration, until the two are
|
|
resolved. Indicate bfd_gas=preferred for linux a.out. Use
|
|
AC_PROGRAM_TRANSFORM_NAME, for which a patch has been sent to djm.
|
|
* Makefile.in (target_alias, program_transform_name): Define,
|
|
using autoconf @-substitutions.
|
|
|
|
Wed Aug 31 17:43:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* atof-generic.c: Deleted alloca handling here.
|
|
|
|
* Makefile.in (prefix, exec_prefix): Use @-subtitutions.
|
|
|
|
* aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since
|
|
autoconf 1.109 has this fixed.
|
|
* configure.in: Don't change quote characters around AC_MSG_ERROR
|
|
invocation. Don't use AC_HEADER_STDC, since it requires running a
|
|
program. Cache NEED_*_DECLARATION values.
|
|
* configure, conf.in: Regenerated with a modified autoconf 1.109.
|
|
|
|
* as.h (volatile): Don't test or define here; not needed.
|
|
(alloca): Replace alloca-conf.h inclusion with code recommended in
|
|
autoconf documentation. Include config.h first.
|
|
|
|
Wed Aug 31 11:20:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-coff.h (S_IS_DEFINED): Absolute symbols are defined
|
|
also.
|
|
|
|
* configure.in, configure: Initialize bfd_gas to no.
|
|
|
|
Tue Aug 30 19:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* as.h: Include alloca-conf.h from "libiberty", not
|
|
"../libiberty".
|
|
|
|
Mon Aug 29 16:11:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
|
|
symbol is used as an offset into a CSECT that is not a TOC. These
|
|
types of loads are generated by gcc -mminimal-toc.
|
|
|
|
Sun Aug 28 13:22:52 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* as.h (flag_*): Added comments describing meanings of some of
|
|
these variables.
|
|
(struct frag): Add some comments about the ns32k-specific fields
|
|
and why they're here.
|
|
(SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
|
|
(flag_print_statistics): Declare.
|
|
|
|
* as.c (parse_args): Set flag_print_statistics instead of
|
|
statistics_flag. Options array is now const. Added new option
|
|
"dump-config"; if specified, print TARGET_ALIAS, TARGET_CANONICAL,
|
|
TARGET_CPU, TARGET_OBJ_FORMAT, and TARGET_FORMAT, if defined.
|
|
(main): Change test to check flag_print_statistics.
|
|
(statistics_flag): Deleted.
|
|
|
|
* frags.c (frag_variant): Removed PCREL_ADJUST and BSR arguments.
|
|
Always initialize them to zero.
|
|
* frags.h (frag_variant): Fixed prototype.
|
|
* config/tc-i960.c (get_cdisp): Don't pass the extra zero args.
|
|
* config/tc-ns32k.c (convert_iif): Don't pass the arguments; cache
|
|
the value of frag_now and fill in the fields later.
|
|
|
|
* Makefile.in (distclean, realclean): Remove new
|
|
configure-generated files.
|
|
|
|
Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
|
|
|
Conversion to autoconf:
|
|
* acconfig.h, aclocal.m4: New files.
|
|
* configure.in: Rewritten (except for some target-specific code)
|
|
for autoconf.
|
|
* conf.in, configure: New files, generated from the above.
|
|
* Makefile.in: Changed magic sequence indicating insertion of
|
|
makefile fragments.
|
|
(VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
|
|
from configure.
|
|
(LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
|
|
(config.status, configure): Rewrite rules.
|
|
(config-stamp): Depend on conf. Skip variables that configure is
|
|
now substituting itself.
|
|
(*.o dependencies): Deleted host.h.
|
|
(distclean, realclean): Don't delete host.h.
|
|
* as.c: Don't include stdio.h, string.h, sys/types.h. Include
|
|
signal.h after as.h.
|
|
* as.h: Include alloca-conf.h first. Include ctype.h, string.h,
|
|
strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
|
|
fopen-same.h, as suggested by autoconf test results.
|
|
[BROKEN_ASSERT]: Don't include assert.h.
|
|
(strdup): Declare.
|
|
(volatile, const): Define if not __STDC__ and not already defined.
|
|
(malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
|
|
(free) [NEED_FREE_DECLARATION]: Declare.
|
|
* gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
|
|
include host.h.
|
|
(malloc) [NEED_MALLOC_DECLARATION]: Declare.
|
|
* messages.c: Include as.h first. Include errno.h only if
|
|
HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
|
|
HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
|
|
* doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
|
|
INSTALL_DATA): Use autoconf @-substitutions.
|
|
|
|
* input-file.c: Don't include assert.h here, 'cause as.h already
|
|
includes it.
|
|
|
|
* config/tc-alpha.c: Added various prototypes for static
|
|
functions.
|
|
(in_range): New function, tests whether a value can fit in an
|
|
N-bit field.
|
|
(build_mem, build_operate_n): New functions for constructing
|
|
opcode values.
|
|
(emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New
|
|
functions for emitting single instructions, no longer requiring a
|
|
recursive call to md_assemble.
|
|
(emit_add64): New function for expanding a REG:=REG+CONST
|
|
operation into one or more instructions, to handle wide constants.
|
|
(clear_insn): New variable.
|
|
(md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
|
|
(alpha_ip): Use it to initialize local variable insns.
|
|
(alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64
|
|
for calculations.
|
|
|
|
Fri Aug 26 14:46:15 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
|
|
|
* subsegs.c (section_symbol): Reverse still-wrong test of
|
|
EMIT_SECTION_SYMBOLS.
|
|
|
|
* write.c (BFD_FAST_SECTION_FILL): Always define.
|
|
(write_contents): If fill_size is 1, use memset instead of looping
|
|
calling memcpy.
|
|
|
|
Wed Aug 24 12:46:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
|
|
with native MIPS assembler.
|
|
* configure.in (mips-*-irix*): Don't set emulation.
|
|
* config/te-irix.h: Remove.
|
|
|
|
* ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
|
|
haven't seen any input files yet.
|
|
* config/tc-alpha.c (md_begin): Just call symbol_create, rather
|
|
than calling symbol_new and then removing the symbol from the
|
|
list.
|
|
|
|
* as.c (main): Move a inside the #if 0 block which uses it.
|
|
* ecoff.c (current_stabs_filename): Make const.
|
|
* frags.h (frag_align_pattern): Declare.
|
|
* gasp.c (new_file): Cast isp to long, and use %ld to print it.
|
|
* config/tc-alpha.h (md_operand): Add cast to void.
|
|
(alpha_do_align): Declare argument types.
|
|
(tc_get_register): Declare.
|
|
(alpha_frob_ecoff_data): Declare.
|
|
* config/tc-alpha.c: Include <ctype.h>.
|
|
(s_mask): Don't declare; does not exist.
|
|
(line_comment_chars): Remove /* from descriptive comment.
|
|
(tc_get_register): Remove unused local reg.
|
|
(tc_gen_reloc): Don't bother to compare unsigned to zero.
|
|
(s_base): Correct warning to actually print register number.
|
|
(md_begin): Remove unused locals retval, lose, and i.
|
|
(alpha_fix_adjustable): Move default case inside switch to avoid
|
|
warning.
|
|
(load_symbol_address): Remove unused locals reloc_addr, p, sym,
|
|
and addend.
|
|
(emit_byte_manip_r): Declare types for all arguments.
|
|
(emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
|
|
(emit_sign_extend, emit_bis_r, s_proc): Likewise.
|
|
(alpha_ip): Use sprint_value to print offsetT value. Remove
|
|
unused local size. Remove unused label get_macro.
|
|
(alpha_do_align): Make fill const.
|
|
(md_apply_fix): Remove unused label check_zov.
|
|
|
|
* configure.in: Recognize i586 as a synonym for i[34]86.
|
|
|
|
Tue Aug 23 12:32:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-coff.c (c_line_new): Change line_number argument from
|
|
unsigned short to int so that the type in the prototype matches
|
|
the promoted type in the definition.
|
|
(stack_delete): Comment out; not used.
|
|
* config/obj-coff.h (tc_coff_symbol_emit_hook): Declare if not
|
|
BFD_ASSEMBLER, not if BFD_ASSEMBLER. Declare argument type.
|
|
* config/tc-m68k.h (tc_coff_sizemachdep): Declare.
|
|
* config/tc-m68k.c (tc_coff_symbol_emit_hook): Add ignored
|
|
argument.
|
|
|
|
Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
|
|
the common symbol to the zero address frag (the correct fix).
|
|
|
|
Tue Aug 16 01:48:20 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* gas/config/tc-hppa.c (pa_comm): Undo last change. Set sy_frag for
|
|
the common symbol to the zero address frag (the correct fix).
|
|
|
|
* config/tc-hppa.c (pa_comm): Set sy_resolved for the common
|
|
symbol.
|
|
|
|
Fri Aug 12 17:51:48 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (md_begin): Drop "el" from the end of
|
|
TARGET_CPU. Check for mips64orion.
|
|
|
|
Tue Aug 9 19:43:45 1994 Stu Grossman (grossman@cygnus.com)
|
|
|
|
* configure.in: Recognize ppc-*-netware.
|
|
* config/te-ppcnw.h: New file to support Power-PC/Netware
|
|
configurations. Currently, it just enables the use of backslash
|
|
escapes in string directives.
|
|
|
|
Tue Aug 9 11:12:13 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_stabx): Call expression directly, rather
|
|
than via pseudo_set. If expression is a symbol, move stab symbol
|
|
to just after symbol from expression.
|
|
|
|
* ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
|
|
zero. Undoes change of June 4, 1993.
|
|
|
|
* config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
|
|
orion.
|
|
|
|
Mon Aug 8 16:28:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* as.h: Remove FOPEN_WB patch of Aug 6.
|
|
* configure.in: Configure for ho-go32 correctly.
|
|
* config/ho-go32.h: Fix copyright.
|
|
|
|
Mon Aug 8 11:59:51 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
|
|
upper-case versions of the pseudo-ops.
|
|
|
|
Mon Aug 8 13:42:16 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_apply_fix): If we are going to generate a
|
|
non PC relative reloc, don't put the addend in the object file.
|
|
|
|
Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* as.h: If FOPEN_WB is not defined, do the right thing in a go32
|
|
environment.
|
|
|
|
Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/tc-h8300.c (pint): New function for handling varying
|
|
size of int pseudo op.
|
|
* doc/as.texinfo: Fix typo describing .h8300h pseduop.
|
|
|
|
Mon Aug 1 02:40:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (create_new_space): Initialize sd_subspaces
|
|
field in the space chain.
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc): Cast return value from
|
|
hppa_gen_reloc_type.
|
|
|
|
Thu Jul 28 15:45:37 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Check more carefully for
|
|
conflicting architectures.
|
|
(md_parse_option) [NO_V9]: Complain if v9 was selected.
|
|
(md_show_usage): Derive architecture list in usage message from
|
|
architecture_pname array.
|
|
(cypress): Macro deleted.
|
|
(op_hash): Don't initialize.
|
|
(s_common): Use bfd_und_section_ptr instead of bfd_und_section.
|
|
|
|
* config/tc-sparc.c (BSR): New function.
|
|
(sparc_ip): Use it for right-shift operations of 32 bits or more.
|
|
|
|
* config/tc-sparc.c (sparc_ip): Implement new operand type 'x'.
|
|
|
|
Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.h: Moved common includes and TARGET_FORMAT
|
|
definitions together.
|
|
(WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD,
|
|
OBJ_COFF_OMIT_OPTIONAL_HEADER, BFD_HEADERS, BFD) [!BFD_ASSEMBLER]:
|
|
Moved these definitions to the start of the file, before the
|
|
includes.
|
|
(SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always
|
|
define these.
|
|
(S_GET_ZEROES): Deleted.
|
|
(S_SET_ZEROES): Moved to obj-coff.c.
|
|
|
|
* config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted
|
|
forward declarations.
|
|
(obj_pseudo_table): Moved to one version end of file,
|
|
conditionalized internally.
|
|
(stack typedef, stack_init, stack_delete, stack_push, stack_pop,
|
|
tag_hash, tag_init, tag_insert, tag_find, tag_find_or_make): Moved
|
|
to one combined version at top of file, unconditional. Deleted
|
|
forward declarations.
|
|
(s_get_name): Moved one copy of declarations to start of file.
|
|
(def_symbol_in_progress): Ditto. Don't initialize.
|
|
(S_SET_ZEROES): Moved here from obj-coff.h.
|
|
(write_object_file): If TC_COFF_SET_MACHINE is defined, call it on
|
|
the file headers.
|
|
|
|
* config/obj-coff.c (seg_info_off_by_4): Now const and static.
|
|
(SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
|
|
(previous_file_symbol, def_symbol_in_progress, symbol_externP,
|
|
symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't
|
|
bother explicitly initializing to zero value.
|
|
|
|
* config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
|
|
and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
|
|
|
|
* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
|
|
tc_headers_hook.
|
|
|
|
* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
|
|
was used previously.
|
|
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
|
|
|
|
* config/tc-i960.c (po_hash): Declaration deleted.
|
|
(next_object_file_charP): Ditto.
|
|
(regnames, aregs, coj): Now const.
|
|
(parse_memop): Static array def_scale now const.
|
|
(md_begin): Cast away const when passing hash routines addresses
|
|
of values in regnames or aregs.
|
|
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
|
|
Continue to accept one-word forms.
|
|
(struct tabentry, arch_tab): Moved to top level from inside
|
|
md_parse_option. Now const.
|
|
(md_show_usage): Use arch_tab to generate usage message. Print
|
|
hyphenated forms of relax options.
|
|
|
|
* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
|
|
TC_S_FORCE_TO_*): Moved from here...
|
|
* config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
|
|
to test OBJ_AOUT and OBJ_BOUT directly.
|
|
|
|
* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
|
|
M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
|
|
{R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
|
|
Macros deleted.
|
|
|
|
start-sanitize-i960xl
|
|
* config/tc-i960.c (ARCH_XL): Define.
|
|
(arch_tab): Include XL.
|
|
(targ_has_sfr, targ_has_iclass): Handle XL.
|
|
(tc_headers_hook): Set flags to F_I960XL for i960XL.
|
|
end-sanitize-i960xl
|
|
|
|
Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* subsegs.c (section_symbol): Had last change backwards.
|
|
|
|
Thu Jul 14 13:21:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/atof-ns32k.c: Deleted.
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Use
|
|
bfd_ind_section_ptr and bfd_und_section_ptr.
|
|
|
|
* subsegs.c (subseg_set_rest): Compare segT values directly,
|
|
without casting to int first.
|
|
|
|
* config/tc-ns32k.c (md_begin): Return value from hash_insert
|
|
should be pointer to const. Don't call exit explicitly after
|
|
calling as_fatal; it won't return.
|
|
(convert_iif): Make local variable j be pointer to bit_fixS, since
|
|
that's how it's used.
|
|
(encode_operand, case 'b'): Ignore sprintf return value. Don't try
|
|
converting freeptr to int and back.
|
|
|
|
Merged in NS32K support update from Ian Dall (dall@hfrd.dsto.gov.au):
|
|
|
|
* config/te-pc532mach.h: New file. pc532-mach target emulation.
|
|
|
|
* config/te-netbsd532.h: New file. Netbsd532 target emulation.
|
|
|
|
* config/tc-ns32k.h: Add definition of NOP_OPCODE.
|
|
|
|
* config/tc-ns32k.h: Add prototype for fix_new_ns32k_exp.
|
|
|
|
* config/tc-ns32k.h: Add BFD_ASSEMBLER support.
|
|
|
|
* config/tc-ns32k.c (tc_gen_reloc): New function for BFD_ASSEMBLER.
|
|
|
|
* config/tc-ns32k.c (fix_new_ns32k_exp): Get reloc type
|
|
differently for BFD_ASSEMBLER.
|
|
|
|
* config/tc-ns32k.c (md_estimate_size_before_relax): Get reloc
|
|
type differently for BFD_ASSEMBLER.
|
|
|
|
* config/tc-ns32k.c (md_create_long_jump): Size of opcode is one
|
|
not 2.
|
|
|
|
* config/tc-ns32k.c (md_convert_frag): Code for the BFD_ASSEMBLER
|
|
case. Also use smart md_pcrel_adjust function.
|
|
|
|
* config/tc-ns32k.c (md_apply_fix): Code for the BFD_ASSEMBLER
|
|
case. Also use smart md_fix_pcrel_adjust function.
|
|
|
|
* config/tc-ns32k.c (md_fix_pcrel_adjust): New function which can
|
|
find offset from opcode to operand even if in another frag
|
|
and in the presence of relaxing.
|
|
|
|
* config/tc-ns32k.c (md_pcrel_adjust): New function which can
|
|
find offset from opcode to operand even if in another frag
|
|
and in the presence of relaxing.
|
|
|
|
* config/tc-ns32k.c (md_number_to_disp): Check ranges properly.
|
|
|
|
* config/tc-ns32k.c (md_atof): use atof_ieee instead of special
|
|
atof_ns32k.
|
|
|
|
* config/tc-ns32k.c (reloc): New (static) function for
|
|
BFD_ASSEMBLER.
|
|
|
|
* config/tc-ns32k.c (convert_iif): More correct pc relative code.
|
|
md_relax must be able to find opcode address even if in another frag.
|
|
|
|
* config/tc-ns32k.c: More extensive comments.
|
|
|
|
* config/tc-ns32k.c (encode_operand): Support new operand classes I
|
|
and Z. Drop Q.
|
|
|
|
* config/tc-ns32k.c (fix_new_ns32k_exp): new function and
|
|
corresponding prototype.
|
|
|
|
* config/tc-ns32k.c: make 32532 default machine instead of 32032.
|
|
|
|
* config/tc-ns32k.c: include opcode/ns32k.h after as.h
|
|
|
|
* aout_gnu.h: r_disp needs to be 2 bits for TC_NS32K
|
|
|
|
* write.h: fx_im_disp needs to be 2 bits big for TC_NS32K
|
|
|
|
* write.c (relax_segment): Use TC_PCREL_ADJUST macro (if defined)
|
|
instead of adding pcrel_adjust.
|
|
|
|
* write.c (write_object_file): Adjust to_addr for the
|
|
BROKEN_DOT_WORD feature for the BFD_ASSEMBLER case.
|
|
|
|
* write.c (write_object_file): Use TC_CONS_FIX_NEW if it is defined.
|
|
|
|
* write.c (write_contents): Add code (currently if
|
|
BFD_FAST_SECTION_FILL is defined) to make large fills a lot faster.
|
|
|
|
* configure.in: Remove ns32k from special FP list. All the ns32k
|
|
series use ieee float.
|
|
|
|
* configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd targets
|
|
|
|
* as.h: include expr.h before targ-env.h. Some target dependent file
|
|
want to use expr structures.
|
|
|
|
Wed Jul 13 14:49:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
|
|
(md_parse_option): Clear cpu field of current_architecture before
|
|
setting a new cpu type. Clear no_68881 for m68881 or m68882.
|
|
Clear no_68851 for m68851.
|
|
|
|
Tue Jul 12 21:27:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/ho-sysv.h (realloc): Declare.
|
|
|
|
* symbols.c (symbol_create): New function, most of the guts of the
|
|
old symbol_new function.
|
|
(symbol_new): Now just checks symbol_table_frozen, calls
|
|
symbol_create, and enters the symbol into the symbol table.
|
|
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true,
|
|
and the symbol table is frozen, call symbol_create instead of
|
|
symbol_new.
|
|
* symbols.h (symbol_create, symbol_table_frozen): Declare.
|
|
|
|
* symbols.c (symbol_clear_list_pointers): Always a function now.
|
|
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro
|
|
version.
|
|
|
|
* symbols.c (debug_verify_symchain): New macro, defined to be
|
|
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
|
|
(many functions): Invoke debug_verify_symchain unconditionally.
|
|
|
|
Tue Jul 12 12:06:42 1994 Kung Hsu (kung@x1.cygnus.com)
|
|
|
|
* config/obj-ecoff.h: change calling interface of
|
|
OBJ_GENERATE_ASM_LINE_STAB.
|
|
* config/obj-elf.h: ditto.
|
|
* read.c (read_a_source_file): ditto.
|
|
* ecoff.h: change calling interface of
|
|
ecoff_generate_asm_line_stab.
|
|
* ecoff.c (add_file): record of filename to handle case of include
|
|
files, also change default built-in type from int to void for
|
|
asm file.
|
|
* ecoff.c (ecoff_generate_asm_line_stab): handle case of include
|
|
files.
|
|
|
|
Mon Jul 11 17:20:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
|
|
constant, and case ldd_std, set mips_optimize to 2 temporarily to
|
|
avoid inserting an unexpected nop instruction.
|
|
|
|
Sat Jul 9 00:05:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_build_lineno): Handle count correctly for last
|
|
line number.
|
|
|
|
Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* gasp.c (process_pseudo_op): Pass right args to do do_aif.
|
|
(get_any_string): New arg 'pretend_quote'.
|
|
(get_and_process, do_formals, macro_expand, do_sdata,
|
|
process_pseudo_op): Use new arg.
|
|
|
|
Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
|
|
|
|
* config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.
|
|
* config/obj-elf.h: ditto.
|
|
* read.c (read_a_source_file): generate line stabs for asm file.
|
|
* read.h: add extern generate_asm_line_stab.
|
|
* ecoff.h : add prototype for ecoff_generate_asm_line_stab().
|
|
* ecoff.c (add_file): if there's no filename provided, set switch
|
|
to generate line stabs for .s file.
|
|
* ecoff.c (add_procedure): add stabs symbol for .ent directive.
|
|
* ecoff.c (generate_ecoff_stab): creates an artificial stabs.
|
|
* ecoff.c (generate_asm_line_stab): generate a artifitial label
|
|
for each line and generate a stabn for the line.
|
|
|
|
Thu Jul 7 17:04:03 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* gasp.c (get_any_string): Cope with getting a string with an
|
|
alternate base specifier.
|
|
(do_aif, do_aelse): Only enable output if expression is true and previous
|
|
level was on.
|
|
(chartype_init): Add BASEBIT chartype.
|
|
(process_pseudo_op): Notice nesteed AIFs.
|
|
|
|
Thu Jul 7 12:30:22 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* h8300.c (do_a_fix_imm): Code for 2 bit reloc type using in trapa
|
|
insn. (fix pr 5165, 5174)
|
|
|
|
Thu Jul 7 11:31:32 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (R_DLT_REL): If it isn't defined, then define
|
|
to an appropriate value to avoid losing on old hpux systems.
|
|
|
|
* config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
|
|
symbols in DLT relative relocs.
|
|
(tc_gen_reloc): Zero out the addend field for DLT relative relocs.
|
|
|
|
Wed Jul 6 01:07:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
|
|
align to a four byte boundary.
|
|
|
|
Tue Jul 5 15:42:09 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-alpha.c (load_expression): Handle 32-bit addends.
|
|
(gpdisp_hi16_howto): Now points to const.
|
|
(load_insn_table, alpha_ip): Fix uses of const.
|
|
|
|
* doc/internals.texi: Updates to COFF description. Added "@end
|
|
defmac" as needed, and some extra heading and "@bye" so it'll
|
|
format as a separate document.
|
|
|
|
Tue Jul 5 13:54:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
|
|
* config/obj-elf.c (obj_elf_common): Set alignment of common
|
|
symbol.
|
|
* config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
|
|
common symbol.
|
|
|
|
Mon Jul 4 18:29:43 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (is_complex): New macro.
|
|
(cons_fix_new_hppa): "Handle" complex expressions.
|
|
|
|
Fri Jul 1 00:48:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-coff.c (write_object_file): Set s_align field from
|
|
section_alignment array.
|
|
|
|
Thu Jun 30 15:05:28 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.c (write_object_file): Use bfd_com_section_ptr.
|
|
* as.h (absolute_section, undefined_section): Use new BFD macros
|
|
bfd_abs_section_ptr and bfd_und_section_ptr.
|
|
|
|
Thu Jun 30 14:36:37 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
|
|
based on contents of imm_expr and offset_expr, rather than
|
|
mips_pic. For M_LI_DD, decide how to handle it based on segment
|
|
name of offset_expr, rather than mips_pic.
|
|
(mips_ip): If g_switch_value < 4, use immediate values for 'l'.
|
|
If g_switch_value < 8, use .rdata rather than .lit for 'L'.
|
|
|
|
Wed Jun 29 17:30:46 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* as.c (show_usage): Break long string into shorter ones.
|
|
(parse_args): Add -v, prints version id and continues.
|
|
* config/tc-mips.c (md_show_usage): Break long string.
|
|
|
|
Mon Jun 27 09:47:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
|
|
|
|
* config/tc-i386.c (md_parse_option): Handle "-V" and "-Q" if
|
|
OBJ_ELF is defined.
|
|
|
|
Sun Jun 26 16:30:48 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
|
|
initialization.
|
|
|
|
Wed Jun 22 00:24:55 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
|
|
More gas/bfd lossage exposed by the new linker code.
|
|
|
|
Tue Jun 21 11:32:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* subsegs.c (subseg_change): Clear seginfo after allocating it.
|
|
(subseg_get): Pass actual size of seginfo to memset.
|
|
|
|
* subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
|
|
(subseg_change): Store seg_info for bfd_abs_section_ptr in
|
|
abs_seg_info, and store seg_info for bfd_und_section_ptr in
|
|
und_seg_info.
|
|
(subseg_get): Likewise. Also, don't set output_section if it is
|
|
already set.
|
|
(seg_info): Define as function.
|
|
* subsegs.h (seg_info): Declare as function rather than defining
|
|
as macro.
|
|
* write.c (relax_and_size_seg): Call seg_info rather than
|
|
bfd_get_section_userdata.
|
|
|
|
Mon Jun 20 16:30:54 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* configure.in (ppc-*-elf*): New target, like -sysv4*.
|
|
|
|
* expr.c (operand): If "0f" is followed by '\0', don't do eol
|
|
checks.
|
|
|
|
Mon Jun 20 15:17:43 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
|
|
via backend pointer, not directly.
|
|
|
|
Fri Jun 17 18:05:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (config-stamp): Make sure there is at least one
|
|
element in the for loop.
|
|
|
|
Fri Jun 17 11:01:04 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy.
|
|
|
|
* config/tc-hppa.h (elf_hppa_final_processing): Declare.
|
|
|
|
Wed Jun 15 20:44:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* as.c (parse_args): Cast xmalloc return value.
|
|
|
|
* Makefile.in (config-stamp): If $(defs) contains multiple words,
|
|
emit a #define line for each.
|
|
* configure.in: For sparc64 target, use sparc cpu files and add
|
|
sparcv9 to extra_defs. No longer treat sparc64-*-aout* specially.
|
|
|
|
* config/tc-sparc.c (membar_masks): Now static and const.
|
|
(md_show_usage) [!NO_V9]: Add -Av9 to usage message.
|
|
(current_architecture) [sparcv9]: Initialize to v9.
|
|
(md_begin) [sparcv9]: Don't bother changing it unconditionally
|
|
here.
|
|
(s_reserve): Don't pass unexpected argument to as_bad with
|
|
bad-segment message.
|
|
|
|
* as.h (bfd_alloc_by_size_t) [BFD_ASSEMBLER]: Declare.
|
|
|
|
* config/atof-ieee.c (int_to_gen): Commented out unused routine.
|
|
|
|
* config/tc-vax.c (md_assemble): Removed check of operand section.
|
|
|
|
Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
|
|
these new VMS symbol-type macros for `complex float' and
|
|
`complex double' support. Their values come from the existing
|
|
DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
|
|
(DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
|
|
REAL8 and COMPLX8; not used yet, because gcc outputs the same
|
|
.stabs for `double' regardless of whether `-mg' is used.
|
|
* config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
|
|
for gcc2's predefined types "complex float", "complex double",
|
|
and "complex long double" (identical to complex double).
|
|
|
|
Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
|
|
section symbol, not C_LABEL.
|
|
|
|
* config/tc-mips.c (mips_ip): Permit a modifier in 'o' case, and
|
|
permit non constant expressions in 'u' case. Lets ``lui
|
|
$8,%hi(foo); lw $8,%lo(foo)($8)'' work correctly.
|
|
|
|
Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
|
|
to put a common symbol in a set.
|
|
|
|
Sat Jun 11 16:41:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
Add weak symbols as an extension to a.out.
|
|
* read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
|
|
OBJ_BOUT if not BFD_ASSEMBLER.
|
|
* config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
|
|
Define as in ../include/aout/aout64.h.
|
|
* config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
|
|
define as char.
|
|
(S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
|
|
* config/obj-aout.c (obj_pseudo_table): Add "weak".
|
|
(obj_emit_symbols): Adjust type of weak symbols.
|
|
(obj_aout_weak): New static function.
|
|
|
|
Fri Jun 10 13:48:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_section): Don't set any flags based on
|
|
the type of a special section.
|
|
|
|
* config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
|
|
realloc, free, or atol.
|
|
|
|
Wed Jun 8 06:28:37 1994 Bill Cox (bill@cygnus.com)
|
|
|
|
* Makefile.in (check): Delete as.new dependency, so that
|
|
regression test doesn't trigger an assembler build.
|
|
|
|
Tue Jun 7 13:33:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (mostlyclean, realclean): New targets.
|
|
* doc/Makefile.in, testsuite/Makefile.in: Likewise.
|
|
|
|
Mon Jun 6 13:10:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (RDATA_SECTION_NAME): Define.
|
|
(macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
|
|
or M_L_DOB or label dob, force a new frag to avoid getting
|
|
confused in tc_gen_reloc.
|
|
(mips_ip): Use RDATA_SECTION_NAME, not .rdata.
|
|
(s_change_sec): Likewise.
|
|
|
|
Fri Jun 3 23:35:36 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (emit_expr): Use memset to zero out memory, rather than
|
|
going through md_number_to_chars. This permits handling symbolic
|
|
arguments when the size is larger than sizeof (valueT), if
|
|
TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
|
|
|
|
Fri Jun 3 12:50:13 1994 David J. MacKenzie (djm@rtl.cygnus.com)
|
|
|
|
* as.c (show_usage), config/tc-alpha.c (md_show_usage),
|
|
config/tc-mips.c (md_show_usage): Fix up messages.
|
|
|
|
* as.h: Replace flagseen with separate variables.
|
|
* as.c (parse_args): Set them. Don't accept -1 option, or -v
|
|
explicitly (it's a synonym for --version).
|
|
* as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
|
|
config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
|
|
config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
|
|
config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
|
|
config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
|
|
config/tc-vax.c: Use the new flag variables instead of flagseen.
|
|
* config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
|
|
usage.
|
|
|
|
* as.c (show_usage): Remove target specific messages;
|
|
instead, call md_show_usage.
|
|
(parse_args): Use getopt_long_only. Take pointers to argc and
|
|
argv.
|
|
(main): Pass parse_args pointers.
|
|
* as.h: Remove 3 variables that are redundant with flagseen.
|
|
* as.c, messages.c: Change their users to use flagseen.
|
|
Define getopt stuff.
|
|
* tc.h: Update md_parse_option decl. Add md_show_usage decl.
|
|
* config/tc-*.c: Add md_shortopts, md_longopts,
|
|
md_longopts_size, md_show_usage. Change calling convention for
|
|
md_parse_option. Remove md_parse_long_option.
|
|
* config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
|
|
* config/tc-i386.h: Don't define md_parse_option.
|
|
|
|
Thu Jun 2 13:54:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
|
|
|
* as.c (show_usage): New function.
|
|
(parse_args): Code moved from main.
|
|
Recognize --help and --version.
|
|
* config/tc-ns32k.h: Define TC_NS32K.
|
|
* doc/as.texinfo: Document all of the target-independent command
|
|
line options.
|
|
|
|
Thu Jun 2 12:07:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* gasp.c (hash_new_table): Clear newly allocated table.
|
|
|
|
* config/tc-m68k.c (enum _register): Add 68060 control registers
|
|
BUSCR and PCR.
|
|
(last_movec_reg): New macro.
|
|
(m68000_control_regs, m68010_control_regs, m68020_control_regs,
|
|
m68040_control_regs, m68060_control_regs): New arrays.
|
|
(control_regs): New pointer.
|
|
(m68k_ip): Use control_regs instead of testing CPU every time.
|
|
Use last_movec_reg too. In error messages, handle 68060, and
|
|
print 68060 for mfloat, too.
|
|
(m68k_init_after_args): Handle "68060". Use m68040up for making
|
|
m68851 choice. Set control_regs.
|
|
(md_parse_option): Handle "68060".
|
|
* configure.in: Setting cpu_type, recognize m68060 too.
|
|
|
|
* config/obj-coff.c (fixup_segment) [!BFD_ASSEMBLER]
|
|
[DIFF_EXPR_OK]: Do conversion to pc-relative for difference, even
|
|
if pcrel is already set.
|
|
|
|
* read.c (potable): Add this_gcc_requires_the_gnu_assembler in all
|
|
lower-case, in case we're ignoring case of opcodes in the input
|
|
file.
|
|
|
|
* doc/as.texinfo (.section): Document as unavailable for a.out
|
|
type formats.
|
|
|
|
* config/tc-alpha.c (machine): New variable.
|
|
(load_insn): New macro.
|
|
(load_insn_table): New function.
|
|
(md_begin): Call load_insn_table, once for basic instructions and
|
|
once for appropriate PAL instruction table.
|
|
(md_parse_option): Set `machine' based on -m##### arguments.
|
|
* config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from
|
|
alpha_opcodes.
|
|
(alpha_pal21164_opcodes): New table.
|
|
(NUM21064OPCODES, NUM21164OPCODES): New macros.
|
|
|
|
* configure.in (target i386-*-netbsd0.8): Use 386bsd emulation.
|
|
|
|
* doc/Makefile.in (install-info-gasp): Use $$dir when installing
|
|
file.
|
|
|
|
Wed Jun 1 10:48:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Force floating point values to be
|
|
aligned correctly.
|
|
|
|
Fri May 27 10:05:53 1994 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
Merged in changes from gas-2.3 net release:
|
|
|
|
* Makefile.in (VERSION): Updated to cygnus-2.3.1.
|
|
|
|
* config/obj-vms.c: Replaced unchecked uses of malloc with
|
|
xmalloc.
|
|
|
|
* listing.c (list_symbol_table): Only test BFD64, not
|
|
BFD_ASSEMBLER too.
|
|
|
|
* config/obj-coff.c (fixup_segment) [BFD_ASSEMBLER]
|
|
[DIFF_EXPR_OK]: Don't check pcrel, just convert it.
|
|
|
|
* config/obj-vms.c: Removed lots of extra semicolons after
|
|
compound statements.
|
|
(strchr): Don't declare here.
|
|
|
|
* config/ho-vax.h (realloc): Declare.
|
|
|
|
* config/ho-vms.h (strchr, strdup): Declare.
|
|
|
|
* config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Accept and ignore
|
|
option `-q'.
|
|
|
|
Wed May 18 20:50:35 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.h (DBG_S_C_SQUAD, DBG_S_C_UQUAD): define these
|
|
new VMS symbol-type macros; signed and unsigned quadword integers,
|
|
for `long long' support. Their values come from the existing
|
|
DSC$K_DTYPE_QU and DSC$K_DTYPE_Q macros in <descrip.h>. The
|
|
VMS debugger now recognizes `long long' variables correctly.
|
|
* config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
|
|
for gcc2's predefined types "long double" (same as double, as
|
|
per gcc's current state), "long long int", "long long unsigned
|
|
int", and final `otherwise' case (to avoid uninitialized type
|
|
and size fields). [caveat: predefined types "complex int",
|
|
"complex float", "complex double", and "complex long double" are
|
|
still missing.]
|
|
|
|
* config/ho-vms.h (EXIT_FAILURE): define as 0x10000002 instead
|
|
of 0, because the latter indicates success rather than failure
|
|
when passed to `exit' or return from `main' compiled by gcc2.
|
|
|
|
* config/obj-vms.c (array_suffix, generate_suffix): replace two
|
|
hardcoded `0xa3's with macro DBG_S_C_ADVANCED_TYPE from obj-vms.h.
|
|
(VMS_typedef_parse): eliminate redundant if-then-else when
|
|
allocating new symbol entry and linking it to VMS_Symbol_type_list.
|
|
|
|
Tue May 17 20:47:31 1994 Pat Rankin (rankin@eql.caltech.edu)
|
|
|
|
* config/obj-vms.c (Write_VMS_MHD_Records): don't try to interpret
|
|
the contents of the GAS_VERSION string when falling back to it for
|
|
language processor identification.
|
|
|
|
* make-gas.com, vmsconf.sh (ENVIRON): fix misspelling of
|
|
`psect_attr' in linker options.
|
|
|
|
Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
|
|
|
|
* configure.bat: update to latest makefile.in
|
|
* config/te-go32.h: [new] go32's environment
|
|
|
|
Fri May 20 17:59:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* as.h: Don't declare parameters for strstr.
|
|
|
|
Thu May 19 15:40:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_section_align): Don't change the size if
|
|
OBJ_ELF.
|
|
|
|
Wed May 18 13:08:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (install): Redirect ln output to /dev/null. If ln
|
|
fails on gasp, install gasp.new, not gasp.
|
|
|
|
Wed May 18 09:16:36 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
|
|
absolute calls.
|
|
|
|
Tue May 17 12:50:46 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
|
|
on a partial completer match.
|
|
|
|
Mon May 16 12:03:49 1994 Jeff Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
|
|
throughout code.
|
|
(is_complex): Delete definition and support for complex relocation
|
|
types.
|
|
(tc_gen_reloc): Delete special unwind crud for ELF. Simplify and
|
|
rewrite ELF code based on 94-02-02 PA ELF draft spec.
|
|
(pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
|
|
the unwind descriptors.
|
|
|
|
Fri May 6 14:13:15 1994 Steve Chamberlain (sac@cygnus.com)
|
|
|
|
* config/go32.mh: New makefile fragment for go32 crossing.
|
|
* configure.in (host==go32): Use new fragment.
|
|
|
|
Fri May 6 14:35:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* gasp.c: Include libiberty.h.
|
|
(main): Remove unused variable i.
|
|
|
|
* config/tc-ppc.c (md_begin): When using -many, permit comparison
|
|
instructions to appear multiple times in the opcode table.
|
|
|
|
Thu May 5 19:14:43 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* Makefile.in (VERSION): Update to 2.2.90.
|
|
|
|
* symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions
|
|
to the symbol table if it's already been set in the output bfd.
|
|
(symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]:
|
|
Don't use bfd_abs_section.symbol for gas absolute symbol.
|
|
|
|
* doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp
|
|
files too.
|
|
|
|
Thu May 5 18:12:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_emit_delays): Make call to
|
|
mips_no_prev_insn unconditional.
|
|
|
|
Thu May 5 17:25:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff*.*: Merged coffbfd versions into coff versions,
|
|
with a single "#ifdef BFD_ASSEMBLER" controlling most of it for
|
|
now. Deleted obj-coffbfd.* files.
|
|
* configure.in: Always use obj-coff.* for COFF targets.
|
|
|
|
Wed May 4 13:34:11 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL):
|
|
Define.
|
|
* configure.in (m68k-bull-sysv3*): Enable.
|
|
|
|
* config/coff_gnu.h: Deleted.
|
|
|
|
Wed May 4 11:29:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
|
|
"a.out-zero.big".
|
|
|
|
* config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
|
|
relative adjustments when TE_LYNX is defined as well as when
|
|
TC_I386 is defined.
|
|
|
|
Wed May 4 02:29:21 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* as.h (strstr): Restore declaration.
|
|
(subseg_get) [BFD_ASSEMBLER]: Declare.
|
|
|
|
* write.c (write_object_file): If obj_adjust_symtab is defined,
|
|
invoke it. Then call set_symtab, and finally invoke *_frob_file
|
|
hooks.
|
|
* config/obj-coff.c (coff_adjust_symtab): Renamed from
|
|
coff_frob_file.
|
|
* config/obj-coff.h (coff_adjust_symtab): Changed declaration
|
|
accordingly.
|
|
(obj_adjust_symtab): Macro also changed.
|
|
|
|
* configure.in (i386-*-gnu*): New target, handled like i386-mach.
|
|
|
|
Tue May 3 21:04:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little
|
|
endian version.
|
|
|
|
* config/obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
|
|
|
|
* config/obj-coff.c (coff_frob_section): Round up the size of
|
|
every section to a multiple of the alignment, so that BFD doesn't
|
|
surprise us.
|
|
|
|
Eliminate many simple differences between the two COFF back ends:
|
|
|
|
* config/obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.
|
|
Made minor stylistic changes, deleted some register declarations.
|
|
(stack_top): Deleted.
|
|
(symbol_to_chars): Use absolute_section and reg_section instead of
|
|
the corresponding SEG_* symbols.
|
|
(obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
|
|
(stack typedef, stack_init, stack_delete, stack_push, stack_pop):
|
|
Moved to just after pseudo-op table. All functions now static.
|
|
(stack_delete): Removed declaration.
|
|
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
|
|
after stack functions.
|
|
* config/obj-coffbfd.h: Reordered some declarations and macros.
|
|
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
|
|
(stack typedef): Deleted.
|
|
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
|
|
(SYM_AUXENT): New macro.
|
|
(SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
|
|
(SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
|
|
(SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX,
|
|
SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header,
|
|
text_section_header): Delete non-BFD_HEADERS versions, since we
|
|
always define that symbol now.
|
|
|
|
* config/obj-coff.c (stack_top): Deleted.
|
|
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
|
|
obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change
|
|
argument name from "ignored" to "ignore".
|
|
(obj_coff_val): Use frag_now_fix.
|
|
(obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't
|
|
get used.
|
|
(stack typedef, stack_init, stack_delete, stack_push, stack_pop):
|
|
Moved to just after pseudo-op table. All functions now static.
|
|
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just
|
|
after stack functions.
|
|
* config/obj-coff.h: Reordered some declarations and macros.
|
|
Protected against multiple inclusions.
|
|
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
|
|
(stack typedef): Deleted.
|
|
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
|
|
(stdoutput): Deleted declaration.
|
|
(TARGET_FORMAT) [TC_I386]: Don't define if already defined.
|
|
|
|
Mon May 2 17:09:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* subsegs.h (segment_info_type): Use fix_tail field even if
|
|
BFD_ASSEMBLER.
|
|
* subsegs.c (subseg_change): Initialize fix_tail field.
|
|
(subseg_get): Likewise.
|
|
* write.c (frags_chained): New static variable.
|
|
(fix_new_internal): If frags_chained is set, use fix_root and
|
|
fix_tail from seg_info (now_seg), rather than frchain_now.
|
|
(chain_frchains_together_1): Set fix_tail field.
|
|
(chain_frchains_together): Set frags_chained.
|
|
|
|
Thu Apr 28 01:39:15 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/tc-mips.c (s_option): Only refer to g_switch_* variables
|
|
if GPOPT is defined.
|
|
(s_abicalls): Ditto.
|
|
(md_apply_fix): Cast char* to unsigned char* to avoid pointer
|
|
mismatch.
|
|
|
|
Wed Apr 27 11:06:32 1994 Steve Chamberlain (sac@cygnus.com)
|
|
|
|
* configure.in (i386-*-go32): Uses coff now.
|
|
* gasp.c (main): Now takes -D on command line.
|
|
(show_usage): Describe new options.
|
|
|
|
Tue Apr 26 17:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and
|
|
"NO UNDEFINED SYMBOLS" if there aren't any, instead of displaying
|
|
the header with an empty list.
|
|
|
|
* config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
|
|
also before setting STYP_NOLOAD for .bss section.
|
|
|
|
* config/tc-m68k.c (flag_reg_prefix_optional): New variable.
|
|
Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
|
|
zero.
|
|
(m68k_reg_parse): If flag_reg_prefix_optional is set, permit
|
|
register prefix to be absent.
|
|
(m68k_ip_op): Accept `&' also for immediate constants.
|
|
(insert_reg): Don't bother with (two!?) sanity checks of the
|
|
symbol table when inserting each register.
|
|
(m68k_parse_long_option): New function. Set
|
|
flag_reg_prefix_optional if "register-prefix-optional" is passed.
|
|
* config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
|
|
defined.
|
|
(OPTIONAL_REGISTER_PREFIX): Don't define.
|
|
(REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
|
|
or one depending on M68KCOFF.
|
|
|
|
Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
|
|
* config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
|
|
Define as macros instead of enumerators, since the Apollo compiler
|
|
can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
|
|
type.
|
|
(make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
|
|
(tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
|
|
R_DIR16, and R_DIR32 relocs.
|
|
* config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
|
|
Use Apollo versions.
|
|
[TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is,
|
|
do include the optional header for Apollo target.
|
|
(COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
|
|
|
|
* config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
|
|
can be used within a label name.
|
|
|
|
* config/tc-m68k.h (m68k_init_after_args): Declare.
|
|
(tc_init_after_args): Define as m68k_init_after_args.
|
|
* config/tc-m68k.c (m68k_init_after_args): New function,
|
|
containing one-shot code from md_assemble. Added warning for
|
|
combination of 68040 and 68851.
|
|
(md_assemble): Startup-time code deleted.
|
|
|
|
Mon Apr 25 16:19:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* doc/Makefile.in (clean, distclean): Remove asconfig.texi.
|
|
|
|
Sun Apr 24 00:13:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
|
|
instruction) is unsigned.
|
|
|
|
Fri Apr 22 17:58:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
|
|
and bfd_ecoff_set_regmasks to set the GP value and the register
|
|
masks, rather than using the now obsolete fake .reginfo section.
|
|
|
|
Fri Apr 22 15:17:06 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* listing.c (list_symbol_table): Don't print register symbols as
|
|
undefined.
|
|
|
|
* config/obj-coff.c (obj_symbol_new_hook): Don't need to strip
|
|
underscores, since symbol_new will already have done it.
|
|
* config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
|
|
|
|
* as.c (main): If tc_init_after_args is defined, invoke it after
|
|
all arguments have been processed.
|
|
|
|
Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
|
|
* as.c (perform_an_assembly_pass) [TE_APOLLO]: Create .wtext
|
|
section instead of .text. Call create_target_segments.
|
|
* read.c (demand_copy_string): No longer static.
|
|
|
|
Thu Apr 21 15:50:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (append_insn): Permit branches to be switched
|
|
with the preceding instruction even if .set nobopt has been seen.
|
|
.set nobopt actually controls whether to bring up an instruction
|
|
from the branch target, which gas does not currently support.
|
|
|
|
Wed Apr 20 18:46:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.h, config/obj-coff.c: Deleted all code used only
|
|
when BFD_ASSEMBLER is not defined, and all conditionals relating
|
|
to such code. No such targets remain.
|
|
|
|
Fixes for stabs-in-coff:
|
|
* config/obj-coff.c: Include subsegs.h.
|
|
(coff_frob_section): New function.
|
|
(obj_coff_init_stab_section): New function.
|
|
* config/obj-coff.h (obj_coff_init_stab_section,
|
|
coff_frob_section): Declare.
|
|
(obj_frob_section): New macro; uses coff_frob_section.
|
|
(INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
|
|
|
|
* config/tc-sparc.c (md_section_align): Always round up to
|
|
multiple of alignment power specified in bfd target vector.
|
|
|
|
* gasp.c: Include ctype.h.
|
|
|
|
Mon Apr 18 21:08:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* doc/Makefile.in, doc/as.texinfo: Renamed asdoc-config.texi to
|
|
asconfig.texi.
|
|
|
|
* doc/Makefile.in (install-info-as, install-info-gasp): Get file
|
|
names from source directory without pathname.
|
|
|
|
* config/obj-vms.c (VMS_write_object_file): While looking for
|
|
register mask, skip empty fill frags caused by enabling listing
|
|
output.
|
|
|
|
* config/ho-sysv.h: Include string.h.
|
|
|
|
* doc/internals.texi: New (well, recently added) file. Just added
|
|
info on as_warn and friends.
|
|
|
|
Mon Apr 18 14:28:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
|
|
defaults for defined, private, and spnum fields for the
|
|
$TEXT$ and $PRIVATE$ spaces. Do not clobber spnum. Do
|
|
not reset the segment if just updating a space.
|
|
(pa_spaces_begin): Set BFD section flags for all built-in
|
|
subspaces.
|
|
|
|
Fri Apr 15 10:51:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.c (first_proc_ptr): New static variable.
|
|
(add_procedure): Set first_proc_ptr if it hasn't been set.
|
|
(ecoff_build_lineno): If the first procedure does not start at
|
|
address zero, insert a dummy line to compensate.
|
|
|
|
* Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
|
|
as well as as.new.
|
|
|
|
Thu Apr 14 15:12:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* expr.c (operand): Try to parse "0f" and "0b" sequences as
|
|
floating point and binary numbers respectively; if it doesn't
|
|
work, treat them as local labels.
|
|
|
|
* Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
|
|
* configure.in: Set ALL_OBJ_DEPS in output Makefile.
|
|
|
|
Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu>
|
|
(Charles Bailey):
|
|
* vmsconf.sh: In generated file, get ".obj" suffix right, build
|
|
source files from other directories into objects in the current
|
|
directory, and specify PSECT attributes explicitly to linker.
|
|
Also added missing label.
|
|
* Makefile.in (stamp-mk.com): Reference new variable
|
|
VMS_OTHER_OBJS for list of non-local object files, instead of
|
|
listing them here.
|
|
(VMS_OTHER_OBJS): New variable, added more libiberty files.
|
|
* make-gas.com: Regenerated.
|
|
|
|
* config/ho-vms.h (unlink): Define as delete.
|
|
|
|
* config-gas.com: Fix quoting on TARGET_CANONICAL definition.
|
|
Delete files before creating them.
|
|
|
|
Thu Apr 14 13:34:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f.
|
|
|
|
* config/tc-mips.h (DIFF_EXPR_OK): Define.
|
|
* config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
|
|
certain cases of 'i', 'j' and 'o'. Change 'u' to take an
|
|
argument, the reloc type.
|
|
(load_register): Pass reloc type to macro_build for 'u'.
|
|
(macro): Likewise. For M_LA_AB permit a difference expression
|
|
when generating embedded PIC code between an arbitrary symbol and
|
|
a symbol in the .text section.
|
|
(mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
|
|
BFD_RELOC_PCREL_LO16 to be emitted.
|
|
(md_apply_fix): Check that most relocs are not PC relative.
|
|
Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
|
|
(tc_gen_reloc): Change #error to as_fatal. Handle
|
|
BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
|
|
|
|
Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* subsegs.c (subsegs_begin): Call memset with args in the correct
|
|
order.
|
|
(subseg_get): Clear newly allocated seginfo, set its pointer slots
|
|
to NULL instead of 0.
|
|
|
|
Mon Apr 11 09:00:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_procend): Handle case where label was
|
|
defined after the .proc directive.
|
|
|
|
* config/tc-hppa.c (pa_procend): Give an error if we encounter a
|
|
procend for a procedure without a name.
|
|
|
|
Thu Apr 7 14:28:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Pass NULL for expression argument to
|
|
macro_build for nori case.
|
|
(SWITCH_TABLE): Define.
|
|
(mips_force_relocation): Force a relocation for a switch table
|
|
entry.
|
|
(md_apply_fix): Write switch table entry value into file.
|
|
(tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
|
|
and set the addend to the difference between the reloc address and
|
|
the subtrahend.
|
|
|
|
Thu Apr 7 10:38:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
|
|
(elf_tc_make_sections): Likewise.
|
|
(hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.
|
|
|
|
* config/tc-hppa.c (hppa_tc_make_sections): Delete function.
|
|
(hppa_tc_symbol): Likewise.
|
|
|
|
* config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
|
|
elf_tc_make_sections stuff. It was there to support PA braindamage
|
|
which has been fixed, and in the case of elf_tc_make_sections is
|
|
redundant with elf_tc_final_processing.
|
|
|
|
Wed Apr 6 20:48:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
|
|
manufacturer.
|
|
|
|
Tue Apr 5 15:48:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): For case 'o', when generating
|
|
embedded PIC code, accept the difference between two local symbols
|
|
as being constant.
|
|
(mips_force_relocation): Only force a reloc to be generated for a
|
|
PC relative fixup.
|
|
(md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
|
|
value into the file if the fixup will not generate a reloc.
|
|
|
|
Tue Apr 5 11:14:14 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* config/tc-sparc.c (s_reserve): If section passed isn't bss,
|
|
don't spew remainder of input file in error message.
|
|
(tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
|
|
message with reloc type and try to process remainder of file.
|
|
|
|
* doc/Makefile.in (install-info-as, install-info-gasp): New
|
|
targets, now explicitly checking $(srcdir) for info files.
|
|
(install-info): Depend on both of them; do nothing more.
|
|
|
|
Mon Apr 4 17:06:04 1994 Jeffrey A. Law (law@cygnus.com)
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version.
|
|
|
|
Mon Apr 4 12:39:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
|
|
flag rather than signedp field. Only permit extended range if
|
|
PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
|
|
Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
|
|
|
|
* config/tc-ppc.c (ppc_size): New static variable.
|
|
(ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
|
|
(md_begin): If an instruction has a size specific flag set, only
|
|
add it if we are assembling that size.
|
|
|
|
Thu Mar 31 16:51:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
|
|
cross section PC relative relocs right for COFF and ELF.
|
|
|
|
Mon Mar 28 14:38:23 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
|
|
(OBJ_PROCESS_STAB): Don't define.
|
|
|
|
Mon Mar 28 12:40:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
|
|
the type of symbol set symbols which happen to be in the absolute
|
|
or undefined section.
|
|
|
|
Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
|
|
|
|
* config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
|
|
RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
|
|
and -many (all architectures).
|
|
|
|
Sun Mar 27 14:04:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
|
|
involving a function symbol which is not a plabel to zero.
|
|
(md_apply_fix): Never pass a function symbol to field_adjust.
|
|
|
|
Fri Mar 25 17:35:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
|
|
N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
|
|
|
|
* config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
|
|
branch with an instruction that uses $at, in case the branch is
|
|
later expanded.
|
|
(macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
|
|
(md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
|
|
to make it pcrel_offset.
|
|
(tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
|
|
reloc->address; another gruesome hack to get gas reloc handling to
|
|
do the right thing.
|
|
|
|
Thu Mar 24 21:29:29 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-alpha.c (alpha_ip): Only set GP prolog size if using
|
|
PV register.
|
|
(T12): New macro.
|
|
(emit_insn): New function.
|
|
(md_assemble): Call it.
|
|
(alpha_force_relocation): Handle BFD_RELOC_26, for call_pal
|
|
instructions.
|
|
(lituse_pending): New variable. Set by anything that generates a
|
|
LITERAL reloc, cleared by anything that generates a LITUSE reloc,
|
|
tested by code that might want to emit a LITUSE reloc.
|
|
(emit_unaligned_io): New function. Currently calls md_assemble,
|
|
but it should eventually be converted to generate the insn itself
|
|
and call emit_insn directly.
|
|
(emit_load_unal, emit_store_unal, emit_byte_manip_r,
|
|
emit_extract_r, emit_insert_r, emit_mask_r, emit_sign_extend,
|
|
emit_bis_r): Likewise.
|
|
(alpha_ip, case 'I'): Handle with BFD_RELOC_23.
|
|
(alpha_ip, label get_macro): Don't emit the final instruction if
|
|
the opcode is zero.
|
|
(alpha_ip, case 'B', subcase 'd'): New case, for subword and
|
|
unaligned memory access macros.
|
|
(md_apply_fix): Handle BFD_RELOC_26. Generate an error message if
|
|
the value can't be resolved.
|
|
|
|
Wed Mar 23 16:06:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (md_parse_option): For -membedded-pic, force
|
|
the -G value to 0x7fffffff. For SVR4 PIC options, don't call
|
|
bfd_set_gp_size here, it's done in md_begin. Don't permit -G with
|
|
-membedded-pic.
|
|
(mips_force_relocation): New function.
|
|
(md_apply_fix): Set fixP->fx_done appropriately.
|
|
(s_change_sec): For EMBEDDED_PIC, change .data and .rdata to
|
|
.sdata.
|
|
* config/tc-mips.h (TC_FORCE_RELOCATION): Define.
|
|
(mips_force_relocation): Declare.
|
|
(TC_HANDLE_FX_DONE): Define.
|
|
|
|
Tue Mar 22 13:58:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (enum mips_pic_level): New enum.
|
|
(mips_pic): Change from int to enum mips_pic_level. Change all
|
|
uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
|
|
(load_address): Handle EMBEDDED_PIC.
|
|
(macro): Handle EMBEDDED_PIC in all PIC cases.
|
|
(md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC. If
|
|
OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
|
|
-non_shared to use NO_PIC (this is how the Irix 5 assembler
|
|
works). Do not permit -G with SVR4_PIC.
|
|
(s_abicalls): Warn if -G was used, and force -G 0.
|
|
(tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
|
|
anything but a.out, not just for ELF. For ECOFF, don't generate a
|
|
BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
|
|
|
|
* config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1.
|
|
|
|
Sun Mar 20 16:31:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (create_new_space): Use ints, not chars as
|
|
parameters to avoid losing when compiling with HP CC.
|
|
(create_new_subspace, update_subspace, fix_new_hppa): Likewise.
|
|
|
|
Sun Mar 20 14:43:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* Makefile.in (config-stamp): If `defs' is defined, emit a
|
|
preprocessor directive to create a macro named by this value into
|
|
config.new; don't explicitly go for BFD_ASSEMBLER.
|
|
* configure.in: Define `defs', not `BFDDEF'. Set it to
|
|
MANY_SEGMENTS for any obj-coffbfd target.
|
|
* config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
|
|
* config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS,
|
|
or BFD_HEADERS.
|
|
(LOCAL_LOADLIBES): Deleted.
|
|
* config/m68kcoff.mt (TDEFINES): Don't define those macros.
|
|
* config/m88kcoff.mt (TDEFINES): Ditto.
|
|
* config/ebmon29k.mt: Deleted.
|
|
* config/h8300hds.mt: Deleted.
|
|
* config/ic960coff.mt: Deleted.
|
|
* config/sparc.mt: Deleted.
|
|
* config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
|
* config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
|
* config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
|
|
* config/z8k.mt (LOCAL_LOADLIBES): Deleted.
|
|
(TDEFINES): Don't define the coffbfd macros.
|
|
|
|
* Makefile.in: Insert makefile fragments before OBJS definition.
|
|
(OBJS): Add $(TE_OBJS).
|
|
|
|
* config/obj-coff.c (obj_pseudo_table): Supply "section"
|
|
unconditionally.
|
|
|
|
* write.c (set_symtab): Define only if BFD_ASSEMBLER.
|
|
|
|
Sun Mar 20 12:06:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Makefile.in (STAGESTUFF): Add gasp.new.
|
|
|
|
Fri Mar 18 20:09:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.c (symbol_table_frozen): New variable, to be set after
|
|
bfd_set_symtab is called.
|
|
(dump_section_relocs): Note whether a symbol is a section symbol
|
|
or not.
|
|
(adjust_reloc_syms): For now, always supply an absolute symbol for
|
|
fixups without symbols but not yet `done'. Use section_symbol to
|
|
get the symbol, instead of going directly for abs_symbol.
|
|
(write_relocs) [DEBUG4]: Abort if any symbol referred to by a
|
|
reloc is not a section symbol and is not in the symbol table.
|
|
(set_symtab): New function, broken out from write_object_file.
|
|
Counts symbol table instead of relying on an earlier count.
|
|
(write_object_file): Call set_symtab, but do it after potentially
|
|
invoking the *_frob_file macros. Don't bother counting symbols.
|
|
Call symbol_remove, instead of expanding it in place. Moved the
|
|
conditionalized `object_file_size' declaration down to
|
|
conditionalized block where it's used. When using the absolute
|
|
symbol for a fixup without a symbol, set sy_used_in_reloc.
|
|
(write_object_file) [BFD_ASSEMBLER]: Call section_symbol to get
|
|
the correct symbol for the absolute section.
|
|
|
|
* subsegs.c (section_symbol): Use symbol_new instead of
|
|
symbol_make, since we may want it to go into the symbol table.
|
|
Make the new symbol have internal linkage. If
|
|
obj_sec_sym_ok_for_reloc says it's okay, use the BFD section
|
|
symbol with the newly created GAS symbol.
|
|
(obj_sec_sym_ok_for_reloc): Default to always returning 0.
|
|
* config/obj-aout.h (obj_sec_sym_ok_for_reloc) [BFD_ASSEMBLER]:
|
|
New macro.
|
|
* config/obj-elf.h (obj_sec_sym_ok_for_reloc): New macro.
|
|
|
|
* config/tc-sparc.c: Include subsegs.h.
|
|
(in_signed_range): New function.
|
|
(sparc_ip): Use it.
|
|
(sparc_ip, case 'i'): Use BFD_RELOC_SPARC13, not _BASE13.
|
|
(sparc_ip, label "immediate"): Reject constants for pcrel
|
|
instructions only if the relocation type indicates a "call"
|
|
instruction and the offset is within range of a "jmpl %g0". If
|
|
it's not in range, use the absolute section symbol plus an offset.
|
|
(md_apply_fix): Use in_signed_range. Combined _SPARC13 and
|
|
_BASE13 cases.
|
|
(tc_gen_reloc): Permit BFD_RELOC_SPARC13.
|
|
|
|
* config/ic960coff.mt (TDEFINES): Fixed typo (MANY_SECTIONS, not
|
|
MANY_SEGMENTS).
|
|
|
|
* configure.in: Eliminated all targets using obj-coff but not
|
|
defining BFD_ASSEMBLER; I think all such targets that are
|
|
supported will be matched by real CPU-OS combinations earlier in
|
|
the case statement.
|
|
(targets *-*-coff*, *-sysv*, *-*-sco*, *-*-sysv32): Deleted. Made
|
|
some comments about the dpx2 configuration, but left it disabled,
|
|
since it couldn't be reached before.
|
|
(target a29k-amd-ebmonold): Deleted.
|
|
|
|
Thu Mar 17 13:36:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_import): Correctly handle importing of an
|
|
already defined symbol.
|
|
|
|
Wed Mar 16 17:11:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Only accept overly large values for
|
|
the 'j' operand if there are no further alternatives for this
|
|
instruction.
|
|
|
|
* config/obj-coffbfd.c (adjust_stab_section): Initialize
|
|
stabstrseg to SEG_UNKNOWN, not -1. After loop, check whether it
|
|
is not SEG_UNKNOWN rather than checking whether it is >= 0.
|
|
|
|
* config/tc-mips.c (mips_align): Take new argument, label, and use
|
|
it instead of global insn_label.
|
|
(s_align, s_cons, s_float_cons, s_gpword): Save insn_label before
|
|
call to mips_emit_delay and pass it to mips_align.
|
|
|
|
Wed Mar 16 11:54:12 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_equ): Handle both .reg and .equ correctly.
|
|
|
|
* config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
|
|
argument to a .callinfo directive. Don't loop forever on errors.
|
|
|
|
* config/tc-hppa.c (pa_equ): Use pa_parse_number so that we can
|
|
use pre-defined registers as arguments.
|
|
|
|
Mon Mar 14 14:29:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.c (write_object_file): Check both S_IS_LOCAL and
|
|
S_IS_EXTERNAL when deciding whether to discard a symbol.
|
|
|
|
* config-gas.com: Scan Makefile.in, not version.c, for current
|
|
version number. Delete all versions of temp files when finished
|
|
with them. Create config.h.
|
|
|
|
* config/obj-vms.c (VMS_Initialized_Data_Size): Cache symbol
|
|
values to reduce number of lookups with S_GET_VALUE. Skip debug
|
|
symbols to avoid "a really nasty bug". (From Holger Teutsch,
|
|
holger@botbso.rhein-main.de.)
|
|
(VMS_write_object_file): For "__vt.*" symbols, set S_GET_OTHER
|
|
field. (Also from Holger Teutsch.) Watch for a would-be register
|
|
mask that spans frags.
|
|
|
|
* config/obj-coffbfd.c (obj_coff_line): Set symbol lnno field with
|
|
this_base, not line_base. (Patch from Andreas Arens,
|
|
ari@obelix.av.rwth-aachen.de.)
|
|
|
|
* config/obj-aout.c (obj_crawl_symbol_chain): Retain symbols that
|
|
look local if they're exported or undefined. Used to be done for
|
|
i960 only.
|
|
|
|
* read.c (s_lcomm, s_comm): Print symbol name being redefined.
|
|
Get it from the looked-up symbol, instead of using the string from
|
|
the input stream, which is no longer null-terminated.
|
|
(LEX_PCT): New macro, defaults to 0.
|
|
(lex_type): Use it for `%'.
|
|
|
|
* config/tc-vax.c (md_parse_option): Handle `-h#' option for VMS.
|
|
(vip_op): Now static, and returns void. Callers changed. Added
|
|
forward decl.
|
|
(vip): Ditto. Call as_fatal directly if a program bug is
|
|
detected.
|
|
(op_hash): Let default initialization suffice.
|
|
|
|
* Makefile.in (literal.o): Provide dependencies.
|
|
|
|
* configure.in: Set new makefile variable OPCODES_LIB.
|
|
* Makefile.in (LIBS): Use it.
|
|
|
|
* Makefile.in (make-gas.com, stamp-mk.com): New targets.
|
|
* vmsconf.sh: New file.
|
|
* make-gas.com: Regenerated from new script.
|
|
|
|
* configure.in (sparc*-*-lynxos*): Handle any version number
|
|
suffix after "lynxos". Set emulation to lynx.
|
|
|
|
Mon Mar 14 11:30:49 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/obj-coff.c (obj_coff_section): Delete declaration.
|
|
|
|
Fri Mar 11 22:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-ppc.c (md_pcrel_from): Return 0 for undefined ELF
|
|
symbols.
|
|
(ppc_is_toc_sym): Change .toc to .got.
|
|
(md_apply_fix): Change handling of ELF relocs.
|
|
(tc_gen_reloc): Likewise.
|
|
|
|
Fri Mar 11 17:42:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-vms.c (Close_VMS_Object_File): Add comment pointing
|
|
out some code that doesn't belong in this file.
|
|
|
|
* config/obj-vms.h: Include aout/stab_gnu.h.
|
|
(N_GSYM, ..., N_LENG): Deleted.
|
|
(NO_RELOC): Undefine before defining as part of enum reloc_type.
|
|
|
|
* config/tc-alpha.c: Add comment questioning need for all the
|
|
characters in FLT_CHARS.
|
|
|
|
* as.c (main) [OBJ_VMS]: Don't call output_file_close.
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Set strict order for
|
|
sections with recognized names, before computing VMA values.
|
|
|
|
Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
|
|
0xffff for 'j' to be compatible with MIPS assembler. These
|
|
numbers are actually treated as negative.
|
|
|
|
Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
|
|
|
|
Tue Mar 8 21:17:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.c: Minor formatting/stylistic changes, plus:
|
|
(obj_coff_section): Declare.
|
|
(obj_pseudo_table): Make it available only if MANY_SECTIONS.
|
|
(obj_symbol_to_chars) [CROSS_COMPILE]: Some attemps to make this
|
|
work. It still doesn't. It now fails to compile, instead of
|
|
silently compiling to do nothing.
|
|
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define only if
|
|
MANY_SECTIONS.
|
|
(OBJ_PROCESS_STAB) [! MANY_SECTIONS]: New macro, just emits
|
|
warning.
|
|
|
|
Handle Alpha load-immediate-FP pseudo-instructions:
|
|
* config/alpha-opcode.h (ldif, ldig, ldis, ldit): New patterns.
|
|
* config/tc-alpha.c (lit8_sec, lit4_sec, lit8_sym, lit4_sym): New
|
|
variables.
|
|
(create_literal_section): New function.
|
|
(create_lita_section): Now a macro.
|
|
(get_lit8_offset, get_lit4_offset): New functions.
|
|
(maybe_set_gp): New function.
|
|
(select_gp_value): Call it.
|
|
(load_expression): Preserve addend if symbol is a section symbol.
|
|
(alpha_ip): Handle new operand type `F' for floating-point
|
|
constants; store them in .lit{4,8} sections.
|
|
(alpha_ip, case 'G'): Emit LITUSE relocations for symbol exprs.
|
|
|
|
* config/tc-i386.c (smallest_imm_type): Never return Imm1.
|
|
|
|
Tue Mar 8 14:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (w_strings): Only copy strings out if
|
|
their symbols are going to be written.
|
|
|
|
Tue Mar 8 11:49:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* messages.c (as_perror): Declare arguments const.
|
|
* as.h (as_perror): Change declaration.
|
|
|
|
Mon Mar 7 16:08:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (load_address): When calling frag_grow, allow
|
|
for the (up to) two nops which may be inserted by append_insn if
|
|
mips_optimize is 0.
|
|
(macro): Likewise.
|
|
|
|
Thu Mar 3 11:37:55 1994 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/atof-ieee.c (make_invalid_floating_point_number):
|
|
Add cast to avoid warning from gcc.
|
|
|
|
Wed Mar 2 10:31:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Add a few casts to make HP C compiler happy.
|
|
|
|
* config/obj-som.c (obj_som_version, obj_som_copyright): Be
|
|
prepared
|
|
to handle an error from bfd_som_attach_aux_hdr.
|
|
|
|
* config/tc-hppa.h: Wrap ELF specific decls inside an ifdef.
|
|
|
|
Mon Feb 28 15:03:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-alpha.c (md_atof): Omit warning about FP values.
|
|
(line_comment_chars): Add ! to list.
|
|
(md_apply_fix): Do process 32- and 64-bit relocations.
|
|
|
|
* config/obj-coffbfd.c (obj_coff_lcomm): Put "#if 0" around the
|
|
unused parts (most of the function).
|
|
(obj_coff_init_stab_section): Cast alloca result.
|
|
|
|
* configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and
|
|
gas_target ic960coff.
|
|
* config/ic960coff.mt: New file.
|
|
* config/obj-coffbfd.h [TC_I960]: Include coff/i960.h.
|
|
(TARGET_FORMAT) [TC_I960]: Use coff-Intel-little.
|
|
* config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll
|
|
always build little-endian object files.
|
|
* config/tc-i960.c (md_reloc_size): Don't define at all if BFD or
|
|
BFD_ASSEMBLER is defined.
|
|
(mem_fmt): Since COFF doesn't handle callx relocations yet, treat
|
|
them like normal 32-bit relocations.
|
|
(md_apply_fix): For callx relocations, store zero.
|
|
(tc_bout_fix_to_chars): Store symbol index for all callx
|
|
relocations, regardless of link-relax setting.
|
|
(tc_coff_fix2rtype, tc_coff_sizemachdep): New functions.
|
|
(i960_handle_align) [! OBJ_BOUT]: If link-relax option is
|
|
selected, print an error message and clear it.
|
|
* config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC,
|
|
TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP,
|
|
tc_fix_adjustable): New macros.
|
|
(tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
|
|
|
|
Fri Feb 25 20:56:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (hppa_tc_symbol): Call PA ELF BFD version.
|
|
(hppa_tc_make_sections): Likewise.
|
|
(pa_build_symextn_section): Delete unused function.
|
|
(hppa_tc_make_symextn_section): Likewise.
|
|
(pa_export): Delete call to pa_build_symextn_section.
|
|
|
|
* config/tc-hppa.h (hppa_tc_symbol): Add extern decl.
|
|
(elf_hppa_final_processing): Delete extern decl.
|
|
(hppa_tc_symbol): Delete extern decl.
|
|
|
|
Fri Feb 25 13:15:31 1994 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (fill_section): Correct test for whether to
|
|
fill a section (from Minh Tran-Le <TRANLE@intellicorp.com>).
|
|
|
|
Thu Feb 24 11:30:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* configure.in: Don't require version number for i386-*-mach.
|
|
|
|
* read.c (potable): Added ".this_GCC_requires_the_GNU_assembler",
|
|
which is ignored by gas, but will cause other assemblers to choke.
|
|
Intended for use by gcc ports that require gas instead of native
|
|
assemblers.
|
|
|
|
Thu Feb 24 07:10:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/ho-hppaosf.h: Fix braino in test for ANSI-C.
|
|
|
|
Wed Feb 23 16:51:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* write.c (write_contents): Give the user a reasonable error
|
|
message rather than "assertion failed" if bfd_set_section_contents
|
|
fails.
|
|
|
|
Tue Feb 22 10:07:32 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* config/ho-mach3.h: New file.
|
|
|
|
Mon Feb 21 11:41:18 1994 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* ecoff.c (ecoff_build_debug): Don't set hdr->magic here. It is
|
|
now set in bfd/ecofflink.c:ecoff_write_symhdr.
|
|
|
|
* config/obj-coffbfd.c (write_object_file): use bfd_get_error (),
|
|
not bfd_error.
|
|
* config/obj-elf.c (elf_frob_file): Likewise.
|
|
|
|
* read.c (s_lcomm): Use an alignment power of 3 for 8 byte .lcomm
|
|
variables.
|
|
|
|
* config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__.
|
|
|
|
* read.c (read_a_source_file): Use correct arguments to memcpy
|
|
(broken 19 Jul 1993). From kjd@pescadero.stanford.edu (Kenneth
|
|
Duda).
|
|
|
|
Sun Feb 20 18:01:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
|
|
|
|
* config/obj-coff.h (obj_coff_section): Declare.
|
|
* config/obj-coff.c (obj_pseudo_table): For "section", use
|
|
obj_coff_section.
|
|
(obj_coff_section): Rewrite.
|
|
|
|
Fri Feb 18 14:16:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* configure.in (i386-*-mach3*): New target; uses BFD.
|
|
* config/te-mach.h: New file.
|
|
* config/obj-aout.c (obj_aout_frob_file): New function.
|
|
* config/obj-aout.h (obj_aout_frob_file): Declare it.
|
|
(frob_file): New macro.
|
|
* config/tc-i386.c (md_apply_fix_1) [TE_Mach]: Don't adjust
|
|
pcrel32 relocations.
|
|
* config/tc-i386.h (TARGET_FORMAT) [TE_Mach]: Use a.out-mach3.
|
|
|
|
* write.c (write_object_file): Removed register declarations.
|
|
|
|
Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
Some support for PowerPC ELF.
|
|
* configure.in: If cpu is powerpc*, use ppc.
|
|
(ppc-*-sysv4*): Use object format elf.
|
|
* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
|
|
defined.
|
|
(TARGET_ARCH): Make it call ppc_arch.
|
|
(ppc_arch): Declare.
|
|
(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
|
|
(NO_STRING_ESCAPES): Define.
|
|
(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
|
|
* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
|
|
is defined.
|
|
(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
|
|
OBJ_COFF specific "bi" and "ei".
|
|
(md_parse_option): Fix handling of -u. Make -m601 set
|
|
PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
|
|
(ppc_set_cpu): New function.
|
|
(ppc_arch): New function.
|
|
(md_begin): Call ppc_set_cpu.
|
|
(ppc_insert_operand): For a signed operand accept an unsigned
|
|
value, for IBM compatibility.
|
|
(ppc_byte): Don't call stringer for strings; instead, treat two
|
|
double quotes as a single double quote.
|
|
(ppc_comm): Set sy_tc.output for a .lcomm symbol.
|
|
(ppc_biei): New function.
|
|
(ppc_tc): If not OBJ_COFF, ignore first argument.
|
|
(ppc_fix_adjustable): Call as_bad_where, not as_bad.
|
|
(ppc_is_toc_sym): New function.
|
|
(md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
|
|
BFD_RELOC_8.
|
|
|
|
Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
|
|
|
* messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
|
|
bfd_set_error and new error names.
|
|
|
|
Tue Feb 15 20:23:20 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* configure.in: Support i960-vxworks versions > 5.0 as coff.
|
|
Default is still bout if no version is specified.
|
|
|
|
* atof-generic.c (atof_generic): Use switch and strcasecmp instead
|
|
of large number of compares when looking for inf/nan values.
|
|
|
|
Fri Feb 11 13:13:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Do unaligned loads and stores
|
|
correctly when big endian, and give errors on overflow rather than
|
|
generating incorrect code.
|
|
|
|
Thu Feb 10 11:24:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* as.c: Include libiberty.h.
|
|
|
|
* read.c (do_align): Don't define label just_record_alignment
|
|
unless it might be used.
|
|
|
|
* as.c (main): If md_parse_long_option is defined, call it with a
|
|
long option.
|
|
* config/tc-mips.h (md_parse_long_option): Define.
|
|
* config/tc-mips.c (mips_trap): New static variable.
|
|
(md_begin): Report an error if mips_trap is set at ISA level 1.
|
|
(macro): If mips_trap, use trap instructions instead of break
|
|
instructions for overflow and divide by zero detection.
|
|
(mips_parse_long_option): New function. Support --trap,
|
|
--no-break, --break and --no-trap.
|
|
* doc/as.texinfo: Document new options.
|
|
|
|
* read.c (potable): Add "zero".
|
|
* config/tc-i386.c (md_pseudo_table): Remove "zero".
|
|
* config/tc-m88k.c (md_pseudo_table): Likewise.
|
|
|
|
Thu Feb 10 01:24:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Reject integer values for
|
|
pc-relative operand fields. This forces "call 0" to become "jmpl
|
|
%g0,%o7" with no relocations needed.
|
|
|
|
Wed Feb 9 13:08:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
|
|
* xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
|
|
|
|
* app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
|
|
don't treat backslash specially inside strings.
|
|
* read.c (next_char_of_string): Likewise.
|
|
|
|
Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
|
|
instead of memcpy to zero the initial stab symbol, duh.
|
|
* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
|
|
* config/obj-som.c (obj_som_init_stab_section): Ditto.
|
|
|
|
Tue Feb 8 17:25:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* write.c (fixup_segment): Use as_bad_where, not as_bad.
|
|
|
|
* subsegs.c (subseg_set_rest): Call memset with the arguments in
|
|
the right order. Explicitly clear fix_root and fix_tail fields.
|
|
|
|
Tue Feb 8 16:00:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/obj-coff.c (coff_frob_symbol): For abs_symbol, set *punt
|
|
and do nothing else.
|
|
|
|
* symbols.c (symbol_begin): Initialize value of abs_symbol
|
|
properly.
|
|
|
|
* write.c (adjust_reloc_syms): Use abs_symbol instead of calling
|
|
section_symbol.
|
|
|
|
* ecoff.c (ecoff_build_debug): Fix "/*" in comment to silence
|
|
complaint from "gcc -Wall".
|
|
|
|
* configure.in (alpha-*-netware*): New target, like alpha-*-osf*.
|
|
|
|
* config/tc-alpha.c (GP_ADJUSTMENT): Move definition to start of
|
|
file.
|
|
(tc_gen_reloc): Remove uninitialized variable `code', and code
|
|
that tried to use it (incorrectly). For LITERAL reloc, set addend
|
|
to negative of GP value.
|
|
(load_symbol_address): Don't adjust return value by GP_ADJUSTMENT.
|
|
|
|
* write.c (write_relocs): Print some sensible error message if
|
|
bfd_perform_relocation returns bfd_reloc_overflow.
|
|
|
|
Mon Feb 7 15:49:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* configure.in (hppa*-*elf*): New configuration for PA ELF.
|
|
(hppa*-*-osf*): Default object format is SOM.
|
|
|
|
Mon Feb 7 16:07:35 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-alpha.c (md_atof): Warn that floating-point values
|
|
might not assemble properly.
|
|
|
|
* configure.in (target alpha-*-osf*): Don't set "dev=yes" any
|
|
more.
|
|
|
|
* config/tc-alpha.c (load_expression): Parenthesize operations in
|
|
range checking, to avoid precedence questions.
|
|
|
|
* config/tc-alpha.c (addr32): New static variable.
|
|
(md_parse_option): Set it for "-32addr".
|
|
(load_symbol_address): If addr32 is set, use ldl instead of ldq.
|
|
|
|
* atof-generic.c (atof_generic): Calculate maximum_useful_digits
|
|
and more_than_enough_bits_for_digits in integer arithmetic, to
|
|
eliminate the only sources of dependence on floating point
|
|
support, which doesn't work yet on the Alpha.
|
|
|
|
Mon Feb 7 03:56:05 1994 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_build_debug) [TC_ALPHA]: Specify version stamp as
|
|
0x30b for Alpha for now, until ".verstamp" is handled.
|
|
|
|
* literal.c (add_to_literal_pool): Use seginfo->frchainP, which
|
|
actually refers to the literal pool section, rather than
|
|
frchain_now, which refers to whatever section the assembler was
|
|
in.
|
|
|
|
* write.c (fixup_segment): Only do range checking if size of fixup
|
|
is smaller than word size. Otherwise, we always wind up with
|
|
zeros.
|
|
|
|
* config/tc-alpha.c (md_section_align): Change second argument and
|
|
return type to valueT, to agree with tc.h.
|
|
(alpha_do_align): Local static array nop_pattern is now unsigned
|
|
char, to avoid overflow warnings.
|
|
* config/tc-alpha.h (md_section_align): Delete declaration.
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
|
|
output bfd is non-null before indirecting through it.
|
|
|
|
* config/tc-alpha.c (alpha_frob_ecoff_data): Renamed from
|
|
alpha_frob_file.
|
|
* config/tc-alpha.h (tc_frob_file): Macro deleted.
|
|
* config/obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call
|
|
alpha_frob_ecoff_data, then fill in optional-header info with gp
|
|
value and register masks.
|
|
|
|
Sun Feb 6 16:13:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
|
|
|
|
* config/obj-som.c (obj_som_init_stab_section): Same change
|
|
as coffbfd and elf below. Zero the initial stab symbol after
|
|
allocating it.
|
|
|
|
Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
|
|
initial stab symbol after allocating it.
|
|
* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
|
|
|
|
Sat Feb 5 11:53:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): addb[tf] should only accept
|
|
non-negated condition completers. Add support for addb pseudo-op
|
|
which accepts both negated and non-negated completers.
|
|
|
|
Sat Feb 5 00:15:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* configure.in (rs6000*): Use cpu_type ppc.
|
|
(ppc-*-aix*): New target; use coff and force bfd_gas.
|
|
* config/tc-ppc.h, config/tc-ppc.c: New files for PowerPC/POWER
|
|
(RS/6000) support. At the moment, only XCOFF is supported.
|
|
|
|
* config/obj-coff.c (SA_SET_SYM_ENDNDX): Made non-static.
|
|
(S_SET_DATA_TYPE): Likewise.
|
|
(coff_last_function): Renamed from local static last_functionP in
|
|
coff_frob_symbol and made externally visible.
|
|
(coff_frob_symbol): New local static set_end; use it to try to
|
|
avoid calling SA_SET_SYM_ENDNDX on a symbol that will be punted.
|
|
* config/obj-coff.h (S_SET_DATA_TYPE): Declare.
|
|
(SA_SET_SYM_ENDNDX): Declare.
|
|
(coff_last_function): Declare.
|
|
|
|
* expr.c (operand): If DOLLAR_DOT is defined, accept `$' as
|
|
equivalent to `.' to mean the current location.
|
|
|
|
* read.c (LEX_BR): If not defined, define as 0.
|
|
(lex_type): Use LEX_BR as the type of `{',`}',`[',`]'.
|
|
|
|
* symbols.c (symbol_new): If tc_canonicalize_symbol_name is
|
|
defined, call it with preserved_copy_of_name. If
|
|
tc_symbol_new_hook is defined, call it on the new symbol.
|
|
(symbol_find_base): If tc_canonicalize_symbol_name is defined,
|
|
call it on a copy of the name argument.
|
|
|
|
* write.c (write_object_file): Simplified usage of obj_frob_symbol
|
|
and tc_frob_symbol. Always call both if the symbol is going to be
|
|
output.
|
|
|
|
* write.c (relax_segment): Use %ld rather than %d when printing
|
|
fragP->fr_var, and cast it to long.
|
|
|
|
Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
|
|
* subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
|
|
fix_root and fix_tail.
|
|
(segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
|
|
field.
|
|
* write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
|
|
fix_tailP based on frchain_now, not seg_info (now_seg).
|
|
(chain_frchains_together_1): Chain the subsegment relocs together.
|
|
* subsegs.c (subseg_change): Don't clear fix_tail field.
|
|
(subseg_get): Likewise.
|
|
* literal.c (add_to_literal_pool): Look through the relocs via
|
|
frchain_now, not seginfo.
|
|
|
|
Thu Feb 3 23:07:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Changed
|
|
ecoff_undefined to ecoff_extern_size.
|
|
* config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Likewise.
|
|
* config/tc-mips.c (s_extern): Set ecoff_extern_size to the
|
|
external symbol size, rathern than setting the symbol value.
|
|
(md_estimate_size_before_relax): Check both ecoff_extern_size and
|
|
symbol value to see if GP referencing can be used.
|
|
* ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
|
|
ecoff_undefined.
|
|
(ecoff_frob_symbol): Don't check ecoff_undefined.
|
|
(ecoff_build_symbols): Get size of an undefined symbol from
|
|
sym->ecoff_extern_size, not S_GET_VALUE (sym).
|
|
|
|
Wed Feb 2 13:55:08 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Makefile.in: Avoid bug in losing hpux sed.
|
|
|
|
Wed Feb 2 11:40:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (file_mips_isa): New static variable.
|
|
(md_begin): Set it.
|
|
(s_mipsset): Add support for .set mipN to set the ISA level.
|
|
|
|
* gasp.c (kinfo): Fully bracket initializer.
|
|
|
|
Tue Feb 1 19:28:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* gasp.c (malloc): Don't declare, since host.h or system header
|
|
files may declare it differently.
|
|
|
|
* config/atof-ieee.c (int_to_gen): Now static.
|
|
|
|
* config/ho-i386aix.h: Include sys/types.h and stdlib.h, not
|
|
ho-sysv.h. Based loosely on a patch from Minh Tran-Le.
|
|
|
|
Tue Feb 1 10:50:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* gasp.c: Include host.h.
|
|
|
|
Tue Feb 1 12:13:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Make an unsupported instruction a
|
|
warning, not an error.
|
|
|
|
* config/obj-coff.c (dot_text_symbol, dot_data_symbol,
|
|
dot_bss_symbol): Don't define if BFD_ASSEMBLER.
|
|
(obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
|
|
arguments.
|
|
(coff_line_base): Renamed from line_base. Changed all uses.
|
|
(coff_add_linesym): Renamed from add_line_sym. Made non-static.
|
|
Changed all uses.
|
|
* config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
|
|
(S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
|
|
BFD_ASSEMBLER.
|
|
(coff_line_base): Declare.
|
|
(coff_add_linesym): Declare if BFD_ASSEMBLER.
|
|
* config/obj-coffbfd.c (symbol_to_chars): bfd_coff_swap_aux_out
|
|
now takes more arguments.
|
|
|
|
Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* as.c (statistics_flag): Renamed from quiet_flag.
|
|
(main): Get statistics with --statistics instead of -noquiet.
|
|
|
|
Mon Jan 31 07:19:30 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* Makefile.in: Support for Gnu ASsembler Preprocessor.
|
|
* gasp.c: New file.
|
|
* read.c (s_lcomm): Align lcomm data.
|
|
* config/tc-z8k.c (tc_reloc_mangle): Don't allow subtraction
|
|
from different sections.
|
|
|
|
Sun Jan 30 14:58:26 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.c (write_object_file): If tc_frob_file is defined, call it
|
|
just before calling obj_frob_file.
|
|
* config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
|
|
(references changed), and made non-static.
|
|
(getExpression): Return void.
|
|
(select_gp_value): Abort if gp_value is non-zero. Delete call to
|
|
non-existent bfd_set_gp_value.
|
|
(alpha_validate_fix): Function deleted.
|
|
(alpha_frob_symbol): Function deleted.
|
|
(alpha_local_label): Function deleted.
|
|
(alpha_frob_file): Renamed from alpha_end.
|
|
* config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
|
|
alpha_local_label, alpha_end): Declarations deleted.
|
|
(alpha_gp_value, alpha_frob_file): Declare.
|
|
(tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
|
|
(LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
|
|
(md_convert_frag): Simplified slightly.
|
|
(tc_frob_file): New macro.
|
|
|
|
* read.c (do_align): New function, most of guts of s_align_*
|
|
functions. Look for md_do_align macro, give it a chance to bypass
|
|
all but recording of section alignment.
|
|
(s_align_bytes, s_align_ptwo): Call do_align.
|
|
(s_lcomm) [TC_ALPHA]: Align object to largest power of two that
|
|
divides object size.
|
|
|
|
* frags.c (frag_align_pattern): New function.
|
|
(frag_align): Rewrite for clarity.
|
|
|
|
* config/tc-vax.c (md_assemble): Handle O_constant expression.
|
|
(vip_begin): Returns pointer to const char. Cast hash_insert arg
|
|
to PTR to avoid compiler complaints about const.
|
|
(md_begin): Local variable errtxt must point to const.
|
|
|
|
* configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't
|
|
bother with *-*-ultrix or *-*-sysv*, except *-*-sysv, since only
|
|
the last has an existing host support file. Do handle vax-bsd and
|
|
vax-ultrix targets.
|
|
|
|
Fri Jan 28 11:26:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-coff.c (obj_coff_section_header_append): Do not
|
|
declare if BFD_ASSEMBLER.
|
|
(stack_pop): Correct test for stack underflow.
|
|
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
|
|
obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
|
|
type of ignored argument to avoid gcc warning.
|
|
(align): Removed unused function.
|
|
|
|
Thu Jan 27 18:14:19 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-alpha.c, config/tc-alpha.h, config/alpha-opcode.h: New
|
|
files, based on port of gas-1.38 contributed by CMU, using a.out
|
|
variant. Updated for gas-2.x and ECOFF. Floating-point constants
|
|
are still broken, bootstrap testing incomplete.
|
|
|
|
* literal.c: Comment changes.
|
|
|
|
* listing.c (listing_source_file): Check for null listing_tail
|
|
before indirecting through it.
|
|
|
|
* expr.h (struct expressionS): Added struct tag.
|
|
|
|
* as.h: If __GNUC__ and inline are both undefined, define inline
|
|
away.
|
|
|
|
* write.c (cvt_frag_to_fill): Don't assume that fr_var for
|
|
rs_align or rs_org frags will be 1.
|
|
(relax_segment): For rs_align, if fr_var is not 1, complain if
|
|
required padding is not a multiple of the size of the pad pattern.
|
|
(fixup_segment): Leave gp-relative relocations alone. For pcrel
|
|
relocations referring to the same segment, clear fx_pcrel when
|
|
clearing fx_addsy.
|
|
* as.h: Adjust comments on rs_align.
|
|
|
|
* atof-generic.c: Some reformatting.
|
|
(atof_generic): Be careful when mixing signed/unsigned values of
|
|
different sizes.
|
|
|
|
* write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c:
|
|
Query the fx_done field instead of fx_addsy to see if the fixup
|
|
still needs to be applied. Set fx_done and clear fx_addsy both,
|
|
for now. If TC_HANDLES_FX_DONE isn't defined, assume md_apply_fix
|
|
will only clear fx_addsy, and set fx_done accordingly after
|
|
returning.
|
|
* config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.
|
|
* config/tc-sparc.c (md_apply_fix): Set fx_done for non-pcrel fix
|
|
with no fx_addsy.
|
|
|
|
* symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
|
|
Deleted.
|
|
(symbol_begin): Moved to end of file, so function inlining can
|
|
work better.
|
|
(fb_label_count, fb_label_max): Default C static initializers are
|
|
sufficient.
|
|
* symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol):
|
|
Declarations deleted.
|
|
* config/obj-coff.c (dot_text_symbol, dot_data_symbol,
|
|
dot_bss_symbol): Defined here, static.
|
|
|
|
* config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before
|
|
including aout/aout64.h.
|
|
|
|
* write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false,
|
|
don't write out a section symbol even if it's used in a
|
|
relocation; assume relocations will handle section numbers
|
|
somehow. Rename "punt_it" label to "punt_it_if_unused" to reflect
|
|
it's true use.
|
|
(EMIT_SECTION_SYMBOLS): Default to 1.
|
|
(adjust_reloc_syms): Don't create a new symbol for an absolute
|
|
reference; just use the absolute section symbol.
|
|
(write_relocs): Make printout of reloc values dependent on flag
|
|
DEBUG3, not DEBUG2.
|
|
* config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
|
|
* config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
|
|
|
|
Thu Jan 27 16:43:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (lex_type): No longer make '{' a valid character for
|
|
symbol names.
|
|
|
|
* as.c (main): Print long values using %ld.
|
|
|
|
* messages.c (as_warn_internal): New static function.
|
|
(as_warn, 3 versions): Use as_warn_internal.
|
|
(as_warn_where, 3 versions): New function.
|
|
* as.h (as_warn_where): Declare.
|
|
|
|
Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* as.c (quiet_flag): New flag.
|
|
(main): If -noquiet given, display execution time and memory used.
|
|
|
|
Tue Jan 25 15:53:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* doc/{all.texi,as.texinfo}: Add documentation for HPPA port.
|
|
|
|
Mon Jan 24 19:18:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_frob_symbol): New function. Put undefined
|
|
symbols of known size in the undefined section. Put small common
|
|
symbols in a .scommon section.
|
|
* ecoff.h (ecoff_frob_symbol): Declare.
|
|
* config/obj-ecoff.h (obj_frob_symbol): Define.
|
|
* config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
|
|
obj_elf_frob_symbol): Removed unused functions.
|
|
* config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
|
|
unused macros.
|
|
(obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
|
|
of unused functions.
|
|
(obj_frob_symbol): Define if ECOFF_DEBUGGING.
|
|
|
|
* tc-mips.c (g_switch_seen): New static variable.
|
|
(md_parse_option): Set g_switch_seen for -G option.
|
|
(s_option): If creating PIC code, force the GP size to be 0. Warn
|
|
if -G switch used with a non-zero value.
|
|
|
|
* symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
|
|
comparing against bfd_com_section.
|
|
|
|
Mon Jan 24 14:12:25 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss
|
|
section.
|
|
|
|
Thu Jan 20 13:17:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* expr.c (operand): For floating point operand with unusual fp
|
|
char from FLT_CHARS, preserve the character. Patch from Lisa
|
|
Repka.
|
|
|
|
Wed Jan 19 23:15:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (md_pseudo_table): Add all data allocation
|
|
pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
|
|
|
|
Tue Jan 18 15:51:59 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
|
|
C_FCN assume .val has been set to .
|
|
|
|
Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
|
|
confuses GDB for some unknown reason.
|
|
* cofnig/obj-som.c: Likewise.
|
|
|
|
Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* literal.c (add_to_literal_pool): Handle duplicates of values
|
|
already written to literal pool.
|
|
|
|
Tue Jan 18 17:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
|
|
with explicitly marked stabs through BFD: if a symbol marked
|
|
N_UNDF | N_EXT is in the absolute section, move it to the
|
|
undefined section; move a symbol marked N_INDR into
|
|
bfd_ind_section and set the BSF_INDIRECT flag; set the
|
|
BSF_WARNING flag for a symbol makred N_WARNING.
|
|
|
|
Mon Jan 17 15:40:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.h (ecoff_set_gp_prolog_size): Declare.
|
|
* ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
|
|
|
|
Mon Jan 17 00:18:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
|
|
and 'f' template operand.
|
|
|
|
* config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
|
|
and '2' in copr and sfu instruction templates.
|
|
|
|
Sun Jan 16 16:44:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* as.h (subseg_force_new): Add prototype.
|
|
|
|
Sat Jan 15 09:20:55 1994 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* app.c (do_scrub_next_char): Allow lines like " foolab :".
|
|
|
|
* read.c (emit_expr): Fix computation of mask.
|
|
* config/obj-elf.c (obj_elf_section): Fix loop termination test.
|
|
|
|
Thu Jan 13 16:15:15 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_set_gp_prolog_size): New function.
|
|
(current_file_idx): New static variable.
|
|
(add_file): Use and increment current_file_idx instead of indx
|
|
parameter.
|
|
|
|
* struc-symbol.h (struct symbol): Make all bitfields unsigned.
|
|
|
|
* config/tc-i960.c (i960_validate_fix): Added argument
|
|
add_symbolPP. Indirect through it to get "add_symbolP".
|
|
* config/tc-i960.h (i960_validate_fix): Supply prototype.
|
|
(TC_VALIDATE_FIX): Pass address of add_symbolP.
|
|
|
|
* configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
|
|
(i386-*-netbsd0.8): New target, like 386bsd.
|
|
|
|
* configure.in: Set BFDDEF in Makefile to "define" or "undef".
|
|
* Makefile.in (config.h): Protect against multiple inclusions.
|
|
Define or undef BFD_ASSEMBLER as specified by $(BFDDEF).
|
|
(ALL_CFLAGS): Omit $(BFDDEF).
|
|
* as.h: Include config.h.
|
|
(struct symbol): Added forward declaration.
|
|
(add_to_literal_pool): Fix declaration.
|
|
* as.c: Don't include config.h.
|
|
|
|
* literal.c (add_to_literal_pool): Take symbol and addend as
|
|
arguments, instead of expression, for now. Fix calculation of
|
|
offset to return.
|
|
|
|
* subsegs.h (segment_info_type) [NEED_LITERAL_POOL]: Add field
|
|
literal_pool_size.
|
|
|
|
Thu Jan 13 12:14:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu
|
|
|
|
* subsegs.c (subseg_get): Accept new argument "force_new". If
|
|
set then a new segment is always created. All callers changed.
|
|
(subseg_force_new): New function. Similar to subseg_new, but
|
|
always force a new segment to be created.
|
|
|
|
* config/obj-som.c (som_frob_file): Call adjust_code_sections
|
|
for each section.
|
|
(adjust_code_sections): New function. Adjusts the VMA for all the
|
|
$CODE$ subspaces.
|
|
|
|
* config/tc-hppa.c (md_assemble): Also handle creating a fixup
|
|
for the unwind descriptors if a function's label follows the
|
|
.PROC and .ENTRY directives.
|
|
(pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
|
|
is done elsewhere. Don't create a fixup for the unwind
|
|
descriptors if the function's label has not been defined yet.
|
|
(pa_proc): For SOM, place each procedure within a new $CODE$
|
|
subspace. Adjust the segment and frag for the associated
|
|
function label if it exists.
|
|
|
|
Wed Jan 12 22:05:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
|
|
(hppa_fix_new): Initialize segment field.
|
|
(md_apply_fix): Do nothing for pc-relative fixup which involves
|
|
crossing a segment boundary.
|
|
(pa_procend): Undefine the current label after handling .PROC
|
|
and .PROCEND directives.
|
|
(dummy_symbol): Make type "symbolS *". Change references as
|
|
appropriate.
|
|
|
|
Wed Jan 12 13:29:31 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (read_a_source_file): Cast array argument to unsigned
|
|
char.
|
|
* write.c (adjust_reloc_syms): Remove unused variable symseginfo.
|
|
(write_object_file): Don't define punt_it if it won't be used.
|
|
(fixup_segment): Don't define skip if it won't be used.
|
|
|
|
* config/tc-mips.h (TARGET_FORMAT): Define as mips_target_format.
|
|
(mips_target_format): Declare.
|
|
* config/tc-mips.c (mips_target_format): Define with appropriate
|
|
default definition.
|
|
(md_parse_option): If -EL or -EB is used, change byte_order and
|
|
mips_target_format as appropriate.
|
|
|
|
Tue Jan 11 21:52:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* app.c (do_scrub_next_char): Another attempt to fix bugs
|
|
dealing with labels without colons (for HPPA and MRI).
|
|
|
|
Tue Jan 11 17:01:06 1994 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits.
|
|
|
|
* expr.c (integer_constant): Fix computation of too_many_digits.
|
|
Variable digit_2 renamed to start. Fix check for whether number
|
|
will fit in 32 bits.
|
|
* read.c (emit_expr): Use valueT instead of long.
|
|
|
|
Tue Jan 11 13:01:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.c: If TC_MIPS, include elf/mips.h.
|
|
(special_sections): Define.
|
|
(obj_elf_special_section): Get default types and attributes from
|
|
list of special sections.
|
|
* config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
|
|
sections to be close together.
|
|
|
|
* config/tc-mips.c (macro): Corrected $at warnings in a couple of
|
|
spots.
|
|
|
|
* listing.c (listing_prev_line): New function.
|
|
* listing.c: Include subsegs.h.
|
|
(listing_prev_line): New function.
|
|
(calc_hex): Reset byte_in_frag to zero for each new frag.
|
|
* config/tc-mips.c (append_insn): Call listing_prev_line after
|
|
emitting nop instructions.
|
|
* Makefile.in (listing.o): Depends upon subsegs.h.
|
|
|
|
Mon Jan 10 09:52:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
|
|
here. Handle case where label may be defined after the .PROC.
|
|
(pa_proc): It is not an error if the procedure's label isn't
|
|
defined before the .PROC directive.
|
|
|
|
Sun Jan 9 04:43:30 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/te-netbsd.h: New file.
|
|
* config/tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use bfd target
|
|
a.out-netbsd-386 for this configuration.
|
|
|
|
Fri Jan 7 17:38:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
|
|
with the associated stabs information.
|
|
(ecoff_build_symbols): Never set the type of stabs symbols to
|
|
st_Global. Don't update the symbol index or ifd if the gas symbol
|
|
is not the same as the ECOFF symbol (which is now the case for
|
|
stabs symbols).
|
|
|
|
Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
|
|
splits the function.
|
|
(macro2): New function, if LOSING_COMPILER defined.
|
|
|
|
Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (fill_section): Don't ever fill past the
|
|
end of a section. (write_object_file): Temporary fix - setup
|
|
stdoutput.
|
|
|
|
Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in
|
|
non-pcrel_offset relocations.
|
|
|
|
Thu Jan 6 01:06:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
|
|
without .set noat.
|
|
|
|
Wed Jan 5 14:22:22 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* literal.c: New file.
|
|
* Makefile.in (REAL_SOURCES, OBJS): List it.
|
|
|
|
* as.h (DEBUG): Don't define.
|
|
(struct expressionS, struct fix): Declare in case they're used in
|
|
prototypes.
|
|
(add_to_literal_pool) [BFD_ASSEMBLER]: Declare.
|
|
|
|
* config/tc-mips.h (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names
|
|
in bfd.
|
|
|
|
* subsegs.c (subseg_get): New function. Creates segment if
|
|
needed, returns pointer, but doesn't change current segment.
|
|
(subseg_new): Use it.
|
|
|
|
Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
|
|
|
|
* Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
|
|
* config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
|
|
* app.c, flonum.h, hex-value.c (const): Change #if to be more
|
|
portable.
|
|
|
|
Tue Jan 4 22:11:34 1994 Rob Savoye (rob@darkstar.cygnus.com)
|
|
|
|
* config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
|
|
micro-kernel.
|
|
|
|
Thu Dec 30 15:27:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* write.c (write_relocs): bfd_perform_relocation now takes an
|
|
additional argument, to return an error string (which we ignore).
|
|
|
|
Wed Dec 29 14:37:26 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.h (struct fix): Field tc_fix_data should be type PTR, not
|
|
void*, for compatibility with non-ANSI compilers. Added
|
|
single-bit field "fx_done".
|
|
|
|
Sun Dec 26 14:31:47 1993 Torbjorn Granlund (tege@adder.cygnus.com)
|
|
|
|
* tc-hppa.c (pre_defined_registers): Convert to lower case.
|
|
Delete spurious register names "%r4L", etc.
|
|
(selector_table): Sort and convert to lower case.
|
|
(cons_fix_new_hppa): `reloc_type' => `rel_type'.
|
|
(pa_ip): Always use strcmp for non-text and strcasecmp for text.
|
|
(reg_name_search): Rewrite to call strcasecmp only once per
|
|
iteration.
|
|
(pa_chk_field_selector): Rewrite to use binary search.
|
|
(pa_parse_neg_add_cmpltr): Use strcasecmp for completer comparisons.
|
|
(pa_parse_space_stmt): $TEXT$ and $PRIVATE$ are symbols; use case
|
|
sensitive comparisons.
|
|
(pa_parse_space_stmt): Canonicalize strncasecmp arg to lower case.
|
|
(pa_space): "$text$" => "$TEXT$"; "$private$" => "$PRIVATE$". Use
|
|
case sensitive comparison for all symbolic names.
|
|
(pa_subspace): Canonicalize strncasecmp arg to lower case.
|
|
(pa_subspace_start): Use case sensitive comparison for symbolic names.
|
|
|
|
Mon Dec 20 10:37:48 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no
|
|
symbol is present (i.e., relocation against absolute), create a
|
|
phony local symbol, and use it in the reloc.
|
|
(fixup_segment): When adjusting a reloc with an absolute symbol,
|
|
have TC_FORCE_RELOCATION control clearing add_symbolP too.
|
|
* config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define, for OBJ_COFF.
|
|
|
|
* symbols.c (S_IS_EXTERNAL, S_IS_LOCAL): Don't use both BSF_EXPORT
|
|
and BSF_GLOBAL, since they're the same.
|
|
|
|
* as.c (main): Only invoke md_end if it's defined as a macro.
|
|
* tc.h (md_end): Don't declare it.
|
|
* config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do
|
|
anything.
|
|
* config/tc-vax.c (vip_end): Deleted null function.
|
|
* config/tc-mips.c (md_mips_end): Renamed from md_end.
|
|
* config/tc-mips.h (md_mips_end): Declare.
|
|
(md_end): New macro, calls md_mips_end.
|
|
|
|
* write.c (write_object_file): Don't close output file.
|
|
* as.c (main): Close output file (if needed) after calling
|
|
listing_print, which should be after calling write_object_file,
|
|
which sets the frag addresses.
|
|
|
|
* config/obj-coff.c (obj_coff_dim, obj_coff_endef, obj_coff_line,
|
|
obj_coff_scl, obj_coff_size, obj_coff_tag, obj_coff_type,
|
|
obj_coff_val): Add unused int argument to satisfy prototypes; goes
|
|
with Ian's 10 Sep changes.
|
|
(S_GET_DATA_TYPE, S_SET_DATA_TYPE, S_GET_STORAGE_CLASS,
|
|
S_SET_STORAGE_CLASS): Now function instead of macros.
|
|
(obj_emit_lineno) [BFD_ASSEMBLER]: Deleted.
|
|
(tag_insert): Local var ERROR_STRING is const. Use "const" not
|
|
"CONST" for argument NAME. Fixed prototype.
|
|
(coff_frob_symbol): Removed explicit "#if 1" directive. If
|
|
S_IS_EXTERNAL, set storage class to C_EXT.
|
|
(s_get_name): Use "const" not "CONST".
|
|
* config/obj-coff.h (S_GET_DATA_TYPE, S_SET_DATA_TYPE,
|
|
S_GET_STORAGE_CLASS, S_SET_STORAGE_CLASS): Deleted.
|
|
(obj_emit_lineno): Declare only for non-BFD_ASSEMBLER. For
|
|
BFD_ASSEMBLER, define as macro that aborts.
|
|
(obj_extra_stuff, tc_headers_hook): Declare only for
|
|
non-BFD_ASSEMBLER.
|
|
(coff_frob_symbol): Fix prototype.
|
|
|
|
Sun Dec 19 00:37:20 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Test of pcrel_offset had sense
|
|
reversed.
|
|
|
|
Thu Dec 16 21:13:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_begin): Initialize "dummy_label".
|
|
(tc_gen_reloc, SOM version): For relocations which have no symbol,
|
|
set sym_ptr_ptr to dummy_label. Avoids lossage in generic BFD code.
|
|
|
|
Thu Dec 16 16:07:56 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* read.c (lex_type): No longer make '[' a valid character for
|
|
symbol names.
|
|
|
|
* config/tc-vax.c (tc_aout_fix_to_chars): Local variable
|
|
NBYTES_R_LENGTH now const.
|
|
|
|
* config/obj-*.c, config/tc-*.c: Omit superfluous "return"
|
|
statements at ends of functions. Don't check for null return from
|
|
hash_new, since it won't return at all if there's no memory
|
|
available. Also, check for null return from hash_insert, rather
|
|
than zero-length string, as success indicator.
|
|
|
|
* subsegs.c (section_symbol): New function.
|
|
* subsegs.h (section_symbol): Declare.
|
|
* write.c (adjust_reloc_syms): Use it.
|
|
|
|
Wed Dec 15 15:39:53 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* Makefile.in (RUNTEST): New variable.
|
|
(CHECKFLAGS): Pass it down.
|
|
|
|
* ecoff.c (ecoff_directive_frame): Permit extra trailing operands;
|
|
unused for now, but supplied by Alpha OSF1 compiler.
|
|
|
|
* as.h: Protect against multiple inclusions.
|
|
(int_to_gen): Don't declare.
|
|
|
|
* config/atof-vax.c (atof_vax): NULL is not a valid character
|
|
constant.
|
|
|
|
Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* configure.in (hppa*-*-osf*): Do not consider this a developmental
|
|
configuration.
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Handle cases where no
|
|
relocation will be emitted for 32bit formats.
|
|
|
|
Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
|
|
for any of the 'T' field selectors.
|
|
|
|
Sat Dec 11 11:23:12 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-h8500.c (build_bytes): Get reloc type right for a
|
|
%page operation. (md_assemble): Don't modify input_line_pointer.
|
|
(mdcoff_sizemachdep): New function.
|
|
* config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
|
|
* config/tc-z8k.c (get_operand): Delete bogus check.
|
|
|
|
Wed Dec 8 16:31:51 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* write.c (number_to_chars_*): Delete bogus range check.
|
|
|
|
* output-file.c (TARGET_ARCH): No default.
|
|
|
|
Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/tc-sh.c (md_convert_frag): Truncate disps before calling
|
|
md_number_to_chars. (md_assemble): Don't modify
|
|
input_line_pointer.
|
|
|
|
Mon Dec 6 11:49:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-h8300.c (md_assemble): Don't update input_line_pointer.
|
|
|
|
Mon Dec 6 11:20:02 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
|
|
Breaks with the HP compilers.
|
|
|
|
* config/tc-hppa.c (struct call_info): Remove fields which were
|
|
set but never used. Remove all code which sets those fields.
|
|
(struct subspace_dictionary_chain): Likewise.
|
|
(struct space_dictionary_chain): Likewise.
|
|
(pa_desc): Delete useless function. Delete all references.
|
|
(hppa_tc_make_sections): No need to count the number of symbols for
|
|
the symbol extension section.
|
|
|
|
Sun Dec 5 17:05:29 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/obj-som.c (obj_som_version): Pass version string to
|
|
SOM BFD backend.
|
|
(obj_som_copyright): New function. Much like obj_som_version.
|
|
|
|
* config/tc-hppa.c (obj_copyright): Define as appropriate for
|
|
SOM and ELF.
|
|
(pa_copyright): Just a stub now.
|
|
|
|
* config/obj-som.c (obj_read_begin_hook): Delete unused function.
|
|
* config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
|
|
(TARGET_SYMBOL_FIELDS): Delete. SOM isn't making use of them.
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
|
|
expansion due to rounding mode selectors. Handle R_[RDSN]_MODE
|
|
relocations for selecting the current rounding mode.
|
|
|
|
* config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
|
|
e_rlsel field selectors.
|
|
|
|
Fri Dec 3 18:33:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.h: If ECOFF_DEBUGGING, undef
|
|
SEPARATE_STAB_SECTIONS and INIT_STAB_SECTION, and define
|
|
OBJ_PROCESS_STAB to call ecoff_stab.
|
|
* config/obj-elf.c: Don't compile obj_elf_init_stab_section if
|
|
INIT_STAB_SECTION is not defined.
|
|
|
|
Fri Dec 3 10:56:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
|
|
(md_apply_fix_1): Rename to md_apply_fix. Fix argument decls.
|
|
Fix comments in various places. Always return a value.
|
|
Avoid dereferencing a NULL fx_addsy.
|
|
(hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
|
|
|
|
Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
|
|
|
|
* tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
|
|
be either 0 or 2 (no static link or static link required). Always
|
|
assume no static link.
|
|
|
|
Thu Dec 2 11:52:21 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be
|
|
dependent on howto fields, not on format flavour.
|
|
|
|
* struc-symbol.h (struct symbol): New fields sy_obj and sy_tc,
|
|
defined as types OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those
|
|
macros are defined.
|
|
* config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
|
|
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
|
|
(sy_tc, sy_obj): Define so that the fields look like they used to,
|
|
until all references get changed.
|
|
|
|
* write.c (fixup_segment): Lots of variables no longer register.
|
|
Reordered some code for easier reading.
|
|
* config/obj-coff.c (obj_coff_dim): dim_index no longer register.
|
|
Deleted superfluous return statement.
|
|
(obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type,
|
|
obj_coff_val, tag_init, tag_insert): Deleted superfluous return
|
|
statement.
|
|
(align, obj_coff_section): Deleted debugging printfs.
|
|
* config/tc-i386.c (md_assemble): Discard some register decls.
|
|
Use assignment rather than memcpy to copy template.
|
|
(op_hash, reg_hash, prefix_hash): Default C initialization of
|
|
statics is sufficient.
|
|
* config/tc-sparc.c (print_insn): Array Reloc is now const, and
|
|
points to const.
|
|
|
|
* config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if
|
|
TE_LYNX; use coff-sparc otherwise.
|
|
[USE_NATIVE_HEADERS]: Delete this code; it isn't used.
|
|
|
|
* write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined,
|
|
before processing a fixup. Call TC_ADJUST_RELOC_COUNT just before
|
|
returning. Remove some i960-coff-specific code.
|
|
(TC_ADJUST_RELOC_COUNT): Default to doing nothing.
|
|
* config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
|
|
(i960_validate_fix): Declare.
|
|
(TC_VALIDATE_FIX): Define.
|
|
* config/tc-i960.c (i960_validate_fix): New function.
|
|
|
|
* write.c (number_to_chars_littleendian): New function. Write out
|
|
bytes in little endian order, doing size and range checking.
|
|
(number_to_chars_bigendian): New function, similar.
|
|
* write.h: Declare them.
|
|
* config/tc-*.c (md_number_to_chars): Use them.
|
|
* config/tc-vax.c (md_apply_fix): Ditto.
|
|
* config/tc-i386.c (md_apply_fix): Ditto.
|
|
|
|
* config/obj-coff.c: Rearranged code for handling line number
|
|
data.
|
|
(line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case,
|
|
since the usage is different from non-BFD_ASSEMBLER case.
|
|
(in_function, clear_function, set_function): New macros, to
|
|
combine some of the functionality implemented in differnet ways in
|
|
BFD_ASSEMBLER and non-... code. Used in other functions that used
|
|
to check function_lineoff &c.
|
|
(obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER,
|
|
one for not. Non-BFD_ASSEMBLER version now has temporary variable
|
|
to contain char* pointer pointed to by char** argument. Always
|
|
follow CROSS_COMPILE code; easier to read that way.
|
|
(obj_coff_ln): Don't call add_lineno or c_line_new if appline is
|
|
set.
|
|
(obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for
|
|
".bf", it's been done elsewhere.
|
|
(coff_frob_symbol): If ilne number data is pending, call
|
|
add_linesym to flush it.
|
|
(coff_frob_file): Don't do that here.
|
|
* config/obj-coff.h (coff_frob_file): Declare.
|
|
(obj_frob_file): Define, to call it.
|
|
|
|
* config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
|
|
md_estimate_size_before_relax: Define them as macros calling
|
|
as_fatal.
|
|
* config/tc-sparc.c: Don't define them as functions.
|
|
|
|
* configure.in: Handle target alpha-*-osf*. (No cpu files yet.)
|
|
|
|
Wed Dec 1 23:37:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Makefile (clean): Depend on clean-here.
|
|
|
|
Wed Dec 1 11:35:21 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|
|
|
* config/ho-go32.h: Include fopen-bin.h.
|
|
* as.h: If FOPEN_WB isn't defined, include fopen-same.h.
|
|
* output-file.c (output_file_create): Use FOPEN_WB instead of "w".
|
|
* input-file.c (input_file_open): Use FOPEN_RT instead of "r".
|
|
* listing.c (file_info): Use FOPEN_RB instead of "rb".
|
|
* read.c (s_include): Use FOPEN_RT instead of "r".
|
|
|
|
* stabs.c: Include obstack.h.
|
|
|
|
* tc.h (md_create_long_jump): Don't declare if it's already
|
|
defined as a macro.
|
|
(md_create_short_jump, md_estimate_size_before_relax): Ditto.
|
|
|
|
* messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_errmsg instead
|
|
of strerror. Clear bfd_error.
|
|
|
|
* config/te-lynx.h (LOCAL_LABELS_FB): Define, if not already
|
|
defined.
|
|
|
|
Wed Dec 1 10:41:56 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
|
|
(pa_process_exit, pa_procend): Call it for ELF objects.
|
|
|
|
Wed Dec 1 12:10:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
|
|
case. See comment. From wilson@cygnus.com: for M_L_DAB, set
|
|
coproc before doing goto ld.
|
|
|
|
Tue Nov 30 13:40:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* write.c (TC_FORCE_RELOCATION): Provide a default definition.
|
|
(fixup_segment): Allow the target machine to specify that a
|
|
relocation must be generated for a particular fixup. Remove
|
|
#ifndef TC_HPPA hack.
|
|
|
|
* config/tc-hppa.h (TC_FORCE_RELOCATION): Define.
|
|
|
|
* config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
|
|
be NULL. Only fixup_segment is supposed to do that.
|
|
(hppa_force_relocation): New function.
|
|
|
|
Tue Nov 30 11:21:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (stabs.o): Added dependencies.
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab.
|
|
|
|
Sun Nov 28 12:11:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* app.c (do_scrub_next_char): Output a TAB before any
|
|
.app* directive.
|
|
|
|
* config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
|
|
exists before trying to peek at its name.
|
|
(pa_space): Do not call pa_align_subseg. See hppa/unsorted/align3.s
|
|
for testcase.
|
|
(pa_align_subseg): Delete unused/unwanted function.
|
|
|
|
Sat Nov 27 22:49:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* read.c (read_a_source_file): Fix test for when to stick a colon
|
|
on the end of a label. Make code conditional on either MRI or
|
|
LABELS_WITHOUT_COLONS.
|
|
|
|
* app.c (do_scrub_next_char): If a line begins with whitespace, leave
|
|
the single whitespace character alone. Eat all others.
|
|
|
|
* config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
|
|
|
|
Wed Nov 24 01:22:54 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_procend): Do not call process_exit.
|
|
(exit_processing_complete): Delete unwanted variable and all
|
|
references.
|
|
|
|
Wed Nov 24 02:31:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
|
|
Changed to not actually build the external symbol information, as
|
|
that is now done by the ECOFF back end.
|
|
(ecoff_build_debug): Changed accordingly.
|
|
* ecoff.h (obj_ecoff_set_ext): Declare. obj-format.c function
|
|
called by ecoff_setup_ext.
|
|
* config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
|
|
set corresponding pointer to NULL. Don't set raw_size and
|
|
raw_syments.
|
|
(obj_ecoff_set_sym_index): Removed.
|
|
(obj_ecoff_set_ext): New function.
|
|
* config/obj-ecoff.h (obj_set_sym_index): Don't define.
|
|
(obj_ecoff_set_sym_index): Don't declare.
|
|
* config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
|
|
elf_set_index): New functions used for ECOFF_DEBUGGING.
|
|
(elf_frob_file): Reworked ECOFF debug generation to use
|
|
new functions in bfd/ecofflink.c.
|
|
|
|
Sun Nov 21 23:54:52 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_def_subspaces): Only create the unwind
|
|
subspace for ELF. In the SOM world, the linker is responsible
|
|
for creating the unwind subspaces.
|
|
|
|
Fri Nov 19 16:25:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
|
|
(yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
|
|
already set. Fixes .def var; .val external_var; .scl 3; .endef.
|
|
(adjust_stab_section): Make static. Declare return type. Remove
|
|
unused variables.
|
|
|
|
* config/tc-i386.h: Declare tc_coff_fix2rtype and
|
|
tc_coff_sizemachdep.
|
|
|
|
Fri Nov 19 04:33:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (write_object_file): Disable obj_check_file_symbols
|
|
hook; only back end using it wasn't using it correctly.
|
|
(write_object_file): Always call obj_frob_symbol and
|
|
tc_frob_symbol; always retain symbol if it's used by a relocation,
|
|
regardless of what these routines indicate.
|
|
* config/obj-coff.c (coff_frob_symbol): Renamed from
|
|
coff_check_file_symbols.
|
|
* config/obj-coff.h (obj_check_file_symbols): Deleted.
|
|
(coff_frob_symbol): Declare.
|
|
(obj_frob_symbol): Call it.
|
|
|
|
* config/obj-coff.c (obj_crawl_symbol_chain, obj_emit_strings,
|
|
obj_pre_write_hook): Don't define for BFD_ASSEMBLER.
|
|
(c_section_header): Ditto. Delete superfluous return at end of
|
|
function.
|
|
|
|
* config/obj-coff.h [TC_SPARC]: Include coff/sparc.h, and specify
|
|
coff-sparc-lynx.
|
|
(SA_GET_SYM_TAGNDX): Use BFD_HEADERS version for BFD_ASSEMBLER
|
|
too.
|
|
(c_section_header): Rewrite prototype so that it contains no
|
|
preprocessing directives. Don't declare it at all if
|
|
BFD_ASSEMBLER.
|
|
|
|
* configure.in (sparc*-*-lynxos): New target, using coff and
|
|
BFD_ASSEMBLER.
|
|
|
|
* stabs.c: New file.
|
|
* Makefile.in (REAL_SOURCES, OBJS): List it.
|
|
* read.c (STAB_SECTION_NAME, STAB_STRING_SECTION_NAME,
|
|
get_stab_string_offset, s_stab_generic, s_stab, s_xstab, s_desc):
|
|
Moved to new file.
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Handle coff files like elf
|
|
files.
|
|
|
|
Wed Nov 17 17:23:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* configure.in (mips-*-irix5*): New target. Use elf and mips-big.
|
|
* config/obj-elf.c: If ECOFF_DEBUGGING, include ecoff.h.
|
|
(obj_pseudo_table): If ECOFF_DEBUGGING, define ECOFF
|
|
pseudo-ops.
|
|
(obj_read_begin_hook): If ECOFF_DEBUGGING, call
|
|
ecoff_read_begin_hook.
|
|
(obj_symbol_new_hook): If ECOFF_DEBUGGING, call
|
|
ecoff_symbol_new_hook.
|
|
(obj_elf_init_stab_section): Cast alloca result.
|
|
(elf_frob_file): If ECOFF_DEBUGGING, finish up ECOFF debugging
|
|
information and write it out into .mdebug section.
|
|
* config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): New macro.
|
|
(TARGET_SYMBOL_FIELDS): Use ELF_TARGET_SYMBOL_FIELDS.
|
|
(ECOFF_DEBUGGING): Define if TC_MIPS.
|
|
(TARGET_SYMBOL_FIELDS): If ECOFF_DEBUGGING, override to add
|
|
fields required by ECOFF.
|
|
* config/tc-mips.c: Check ECOFF_DEBUGGING rather than
|
|
OBJ_ECOFF in many cases.
|
|
(mips_any_noreorder): New variable.
|
|
(mips_cprestore_offset): Initialize to -1.
|
|
(mips_frame_reg): New variable.
|
|
(RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
|
|
RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
|
|
(md_pseudo_table): Handle "gpword" and "cpadd".
|
|
(md_begin): Initialize ok to false. If OBJ_ELF, set alignment
|
|
of text, data and bss sections to 4. Set alignment of
|
|
.reginfo section to 2. If ECOFF_DEBUGGING, create .mdebug
|
|
section.
|
|
(ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
|
|
check.
|
|
(append_insn, macro_build, macro_build_lui): Take place
|
|
argument. Changed all callers.
|
|
(append_insn): If appending a nop, don't emit one.
|
|
(macro_build): Changed assertion for 'i', 'j', 'o' case.
|
|
(gp_reference): Removed.
|
|
(load_address): New function.
|
|
(macro): If mips_noreorder is used, set mips_any_noreorder.
|
|
Extensive changes to handle GP and PIC symbols differently.
|
|
Build both possible code choices using a variant frag, and
|
|
make a final decision at the end of assembly when all
|
|
information is known. Added PIC support for all symbol
|
|
references.
|
|
(mips_ip): Don't permit anything but a number after $ for a
|
|
coprocessor register. Don't use .lit4 or .lit8 sections when
|
|
generating PIC code. If OBJ_ELF, set alignment of .lit4 or
|
|
.lit8 section to 4.
|
|
(md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
|
|
(s_change_sec): Set alignment of ELF .rodata or .sdata section
|
|
to 4.
|
|
(s_mipsset): If .set noreorder, set mips_any_noreorder.
|
|
(s_cpload): Ignore .cpload if not generating PIC code. Warn
|
|
if .cpload is not in noreorder section.
|
|
(s_cprestore): Ignore .cprestore if not generating PIC code.
|
|
(s_gpword, s_cpadd): New functions.
|
|
(tc_get_register): Added frame argument; if true, set
|
|
mips_frame_reg to return value. Changed all callers.
|
|
(md_estimate_size_before_relax): Don't error out, but instead
|
|
determine how much a frag should grow.
|
|
(tc_gen_reloc): Return multiple relocs if appropriate, as
|
|
determined by md_estimate_size_before_relax.
|
|
(md_convert_frag): New function.
|
|
(mips_elf_final_processing): Set ELF header flags based on
|
|
mips_any_noreorder and mips_pic.
|
|
* config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
|
|
(MAX_RELOC_EXPANSION): Define to be 3.
|
|
(md_relax_frag): Define to be 0.
|
|
(md_convert_frag): Don't define.
|
|
(tc_get_register): Changed declaration.
|
|
|
|
* ecoff.h, ecoff.c: New files pulled out of config/obj-ecoff.c to
|
|
support generating ECOFF debugging information for MIPS ELF
|
|
targets. Compiled only if ECOFF_DEBUGGING is defined. Changed
|
|
handling of external symbols: it now always generates exactly
|
|
those external symbols that are defined in the global symbol list.
|
|
* Makefile.in (REAL_SOURCES): Added ecoff.c.
|
|
(REAL_HEADERS): Added ecoff.h.
|
|
(OBJS): Added ecoff.o.
|
|
(ecoff.o): New target.
|
|
* config/obj-ecoff.c: Almost entirely moved into ecoff.c.
|
|
Remaining code mostly just calls ecoff.c code.
|
|
* config/obj-ecoff.h: Define ECOFF_DEBUGGING.
|
|
(TARGET_SYMBOL_FIELDS): Make ecoff_symbol a pointer to a
|
|
struct localsym.
|
|
(obj_read_begin_hook, obj_symbol_new_hook): Define to call
|
|
functions in ecoff.c.
|
|
(ecoff_stab): Don't declare (now declared in ecoff.h).
|
|
(obj_set_sym_index): Define.
|
|
(obj_ecoff_set_sym_index): Declare.
|
|
|
|
* frags.h (frag_grow): Declare.
|
|
* frags.c (frag_grow): Made non-static.
|
|
|
|
* write.c (is_dnrange): Do not define if md_relax_frag is defined.
|
|
(relax_segment): If md_relax_frag is defined, use it to handle a
|
|
frag of type rs_machine_dependent rather than looking through
|
|
md_relax_table.
|
|
|
|
* read.c (read_a_source_file): If we find a bad pseudo-op,
|
|
do a continue to go on to the next line rather than a break.
|
|
Removed duplicate bad pseudo-op code which was never executed.
|
|
|
|
* read.c (s_lcomm): Do not require a comma after the name.
|
|
|
|
* subsegs.h (segment_info_type): Changed hadone field to bitfield.
|
|
Added bss bitfield.
|
|
* as.c (perform_an_assembly_pass): Set bss flag for bss_section.
|
|
* read.c (s_lcomm): Set bss flag for .sbss section if used.
|
|
* write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
|
|
bss section. Set SEC_RELOC if there are any relocations, even for
|
|
a zero size section.
|
|
|
|
* write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, base
|
|
data offset on reloc[0]->address rather than reloc[j]->address, so
|
|
that multiple relocs can affect different memory locations.
|
|
|
|
* write.c (chain_frchains_together, relax_and_size_seg,
|
|
adjust_reloc_syms, write_relocs): Make third argument PTR, not
|
|
char *, to match definition of bfd_map_over_sections.
|
|
|
|
* app.c (do_scrub_next_char): Don't interpret a comment character
|
|
as starting a CPP line directive unless it is a '#' and is the
|
|
very first characters on the line (i.e., do not permit leading
|
|
whitespace).
|
|
|
|
* messages.c (identify): Make file argument non-const, to match
|
|
callers.
|
|
|
|
Tue Nov 16 20:38:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check.
|
|
|
|
Sat Nov 13 18:22:48 1993 Steve Chamberlain (sac@jonny.cygnus.com)
|
|
|
|
* config/tc-sh.c (md_apply_fix): Cope with IMM16 type too.
|
|
* config/tc-z8k.c (build_bytes, md_apply_fix): Understand nDISP7
|
|
relocs.
|
|
|
|
Fri Nov 12 16:51:47 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.[ch]: Fix assorted trivial indention problems.
|
|
* config/obj-som.c (obj_som_version): Add missing ';'.
|
|
(som_frob_file): Delete whitespace at EOL.
|
|
|
|
Fri Nov 12 15:26:21 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* Makefile.in (VERSION): Updated following 2.2 release.
|
|
|
|
Fri Nov 12 14:52:17 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (hppa_fix_struct): Use a real type for the
|
|
field selector, rather than an int. All uses of field selectors
|
|
fixed.
|
|
(tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
|
|
(md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
|
|
field.
|
|
|
|
Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (pa_type_args): For .import statements,
|
|
silently ignore attempt to change the symbol type for a function
|
|
from ST_ENTRY to ST_CODE on .import.
|
|
|
|
Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* write.h (fixS): Rename fx_callj field to fx_tcbit.
|
|
* write.c, config/obj-coff.c, config/obj-coffbfd.c,
|
|
config/tc-i960.c: Corresponding changes.
|
|
|
|
Tue Nov 9 00:49:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Makefile.in (distclean): Delete config-stamp and config.h
|
|
|
|
* config/tc-hppa.c (evaluate_absolute): Avoid relying on
|
|
ANSI-C features.
|
|
|
|
* config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
|
|
Accept new argument "is_export". All callers changed. When
|
|
processing a .export directive for a function, do not allow
|
|
the user to set the type to "CODE", instead warn and set the
|
|
type to "ENTRY".
|
|
|
|
Mon Nov 8 12:05:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
|
|
Lemon <mellon@pepper.ncd.com>).
|
|
(mips_ip): Permit odd numbered floating point registers if -mips3.
|
|
(macro): Use BFD_RELOC_MIPS_LITERAL relocation for M_LI_SS.
|
|
|
|
Mon Nov 8 07:45:01 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* configure.in: Remove h8300h, we have multilib now.
|
|
|
|
Mon Nov 8 06:09:18 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
|
|
|
|
* configure.in: Support generic netware as being ELF format.
|
|
Recognise unixware if the user supplies it.
|
|
|
|
Sun Nov 7 01:02:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* First cut at cleaning up PA instruction parsing.
|
|
* config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
|
|
insn structure as an argument, and a pointer to a string. All
|
|
callers changed. Always read any field selector here. Call
|
|
evaluate absolute to get a return value.
|
|
(evaluate_absolute): Addept pointer to insn structure as its
|
|
argument. All callers changed.
|
|
(INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
|
|
into an instruction and continuing the main pa_ip loop.
|
|
(CHECK_FIELD): New macro for simple range checking of fields.
|
|
(pa_ip): Delete unused variables. Use INSERT_FIELD_AND_CONTINUE
|
|
and CHECK_FIELD. All immediate fields now pass through
|
|
pa_get_absolute_expression which will also handle field selectors.
|
|
Delete dead code. Simplify.
|
|
(md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
|
|
applied are in range. Use bfd_put_32 rather than inserting each
|
|
byte of the fixed instrution into the buffer ourselves.
|
|
|
|
* write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
|
|
it was PA specific and is no longer needed (it's now handled
|
|
within the PA backend).
|
|
* config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
|
|
* config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
|
|
a fixup is $global$ change it to NULL as $global$ is really only
|
|
needed long enough to determine the base type of relocation to use.
|
|
|
|
* config/tc-hppa.c (create_new_subspace): Initialize subspace_defined.
|
|
|
|
* config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
|
|
for 'z' operands (target of ble branch).
|
|
|
|
Sat Nov 6 22:41:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c: (update_subspace): Fix type and name of last
|
|
parameter. All callers fixed.
|
|
(md_begin, pa_chk_field_selector, pa_entry): Lint.
|
|
|
|
* config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
|
|
to default state after it's been used.
|
|
|
|
Fri Nov 5 12:08:21 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/obj-som.c (obj_som_init_stab_section): Change
|
|
space/subspace sort keys for the stab sections so as to avoid
|
|
bugs in the hp linker and pxdb.
|
|
|
|
Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* write.c (chain_frchains_together): Update pointer to last
|
|
frag for a segment in the seginfo structure.
|
|
|
|
Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com)
|
|
|
|
* Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS
|
|
|
|
Wed Nov 3 12:16:27 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
|
|
|
* write.c (fixup_segment): Handle conversion of subtraction to
|
|
pc-relative addressing even if pc-relative flag is already set.
|
|
|
|
* config/tc-m68k.c (m68k_ip_op): Use strchr, not index. Don't
|
|
declare either.
|
|
|
|
* doc/Makefile.in (distclean): Delete intermediate files from dvi
|
|
build, but not the dvi or info files.
|
|
* Makefile.in (clean-here): New target; cleans up current
|
|
directory only.
|
|
(distclean): Use it instead of clean.
|
|
|
|
* read.c (s_xstab): Don't use alloca.
|
|
|
|
* messages.c (identify): New routine; print message identifying
|
|
following messages as coming from assembler.
|
|
(as_show_where, as_bad_internal, as_bad_where): Call it.
|
|
(as_fatal): Don't need to identify program any more.
|
|
|
|
Tue Nov 2 18:04:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
|
|
|
|
* read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
|
|
well as MIPS ECOFF.
|
|
(get_stab_string_offset): Remove unused variable aligned.
|
|
|
|
Tue Nov 2 15:07:07 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
|
|
predefined register table.
|
|
(pa_parse_number): Handle %rp in common register shortcut code.
|
|
Consistently set return value to -1 for an error. Clean up error
|
|
messages and only print them when "print_errors" is true. Handle
|
|
empty string case like the HP assembler -- assume a value of
|
|
zero.
|
|
|
|
* config/ho-hpux.h: Do not include ho-sysv.h. Instead include
|
|
standard hpux include files to pick up various function decls.
|
|
|
|
* config/ho-hppaosf.h: Delete _IO* macros. They are defined in
|
|
stdio.h. Delete bogus declaration of free. Get path to
|
|
alloca-conf.h right.
|
|
|
|
Tue Nov 2 13:57:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
|
|
|
* expr.c (operand): Fix checks for characters following "0b" or
|
|
"0f".
|
|
|
|
Mon Nov 1 21:37:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/obj-som.h (obj_attach_unwind_info): Define as a hook
|
|
so GAS can attach unwind descriptor information to a BFD symbol.
|
|
* config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
|
|
descriptor information to the BFD symbol.
|
|
(md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
|
|
they are simply markers. Make R_HPPA_UNWIND_* handling OBJ_ELF
|
|
dependent.
|
|
(pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
|
|
(pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
|
|
(pa_exit): Likewise, but built a R_HPPA_EXIT relocation. Do not
|
|
build "end-of-function" symbols for SOM, they are not needed.
|
|
|
|
* config/tc-hppa.c (process_exit): Create temporary symbols with
|
|
correct prefixes so they can be eliminated later.
|
|
|
|
* config/tc-hppa.c (call_info struct): Delete unused "frame" field.
|
|
(pa_callinfo): Insert framesize into the unwind information as
|
|
soon as it's available.
|
|
(pa_build_unwind_subspace): Do not insert framesize into the unwind
|
|
information here.
|
|
|
|
* Add support for marker type relocations. These mark areas
|
|
of interest to the linker. ENTRY/EXIT relocations for SOM are
|
|
an example of marker relocations.
|
|
* write.c (write_relocs): Instead of assuming size of a relocation
|
|
is 4 bytes, pick up the size from relocation itself.
|
|
(fixup_segment): Do not complain that a value is too small for
|
|
marker relocations.
|
|
|
|
* struc-symbol.h: Add new "sy_used" field to the symbol structure.
|
|
* expr.c (operand): Set sy_used for any symbol used as an operand.
|
|
(expr): Likewise for any symbol used in an expression.
|
|
* config/tc-hppa.h (tc_frob_symbol): Define. Punt imported
|
|
symbols which are never used and absolute symbols which local scope.
|
|
|
|
* config/obj-som.h (obj_frob_file): Define.
|
|
* config/obj-som.c (obj_som_init_stab_section): Set alignment
|
|
of stab sections. Make space for the special stab entry.
|
|
(adjust_stab_sections): Adjust the special entry in the
|
|
stabs section.
|
|
(som_frob_file): New function. Simply calls adjust_stab_sections
|
|
for each section.
|
|
|
|
Mon Nov 1 17:54:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
|
|
(mips_pic, mips_cprestore_offset): New static variables.
|
|
(md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
|
|
Ignore .bgnb and .endb.
|
|
(gp_reference): _gp_disp is never addressed off GP.
|
|
(macro_build): Ignore macros while searching for insn. For cases
|
|
i, j, and o, accept the reloc type as an argument rather than
|
|
assuming BFD_RELOC_LO16. Don't try to convert BFD_RELOC_LO16 to
|
|
BFD_RELOC_MIPS_GPREL. Added new case a.
|
|
(set_at, load_register, macro): Changed calls to macro_build to
|
|
pass new argument for i, j and o cases.
|
|
(macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A. These require
|
|
special handling when generating SVR4 PIC code.
|
|
(mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
|
|
rather than hard coded constants.
|
|
(md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
|
|
BFD_RELOC_MIPS_CALL16.
|
|
(s_option): Set mips_pic based on .option picN.
|
|
(s_abicalls): New function; set mips_pic to 2.
|
|
(s_cpload): New function; handle .cpload.
|
|
(s_cprestore): New function; handle .cprestore.
|
|
|
|
* config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
|
|
.endb and .verstamp, setting them to s_ignore.
|
|
|
|
Sun Oct 31 00:36:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
|
|
field. Define SUBSPACE_DEFINED accessor macro.
|
|
(pa_subspace): Allow user to override subspace attributes for
|
|
built-in subspaces. Set ssd_defined at the end of fcn -- that
|
|
way the attributes can only be changed once. Pass newly allocated
|
|
name to is_defined_subspace, not a pointer to the input line.
|
|
Fix typo in space/subspace rework.
|
|
(is_defined_subspace): Delete unused 2nd arg. All callers changed.
|
|
|
|
* config/tc-hppa.c (pa_import): If currently in the text segment
|
|
and a symbol is imported without type information, set BSF_FUNCTION
|
|
for the symbol.
|
|
* write.c (relax_and_size_seg): Correct test to determine if
|
|
the section's size was rounded up.
|
|
|
|
* config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
|
|
can properly set all the SOM symbol types.
|
|
* config/tc-hppa.c (pa_symbol_type): New enum to represent the
|
|
symbol types which can be set from an IMPORT/EXPORT statement.
|
|
(pa_export_args): Set the pa_symbol_type type based on arguments.
|
|
If defined, call obj_set_symbol_type to pass this information on
|
|
to the BFD backend.
|
|
|
|
* read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
|
|
stab section we make.
|
|
(s_stab_generic): Likewise.
|
|
|
|
Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Allow backends to override the value of the fake label.
|
|
* write.h (LOCAL_LABEL): Delete DOT_LABEL_PREFIX code. Instead
|
|
assume backends will define LOCAL_LABEL if anything other than
|
|
'L' is used to denote a local label.
|
|
(FAKE_LABEL_NAME): New macro. Defines the default name used for
|
|
the "fake" label.
|
|
* expr.c (make_expr_symbol): Delete DOT_LABEL_PREFIX code
|
|
and instead simply use the string defined by FAKE_LABEL_NAME.
|
|
(operand): Likewise.
|
|
* read.c (s_stab_generic): Likewise.
|
|
* config/tc-hppa.h (FAKE_LABEL_NAME): Define as L$0\001 so it's
|
|
known to be a local label.
|
|
* config/tc-i386.h (DOT_LABEL_PREFIX): Delete.
|
|
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
|
* config/tc-m68k.h (DOT_LABEL_PREFIX): Delete.
|
|
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
|
* config/te-sco386.h (DOT_LABEL_PREFIX): Delete.
|
|
(LOCAL_LABEL, FAKE_LABEL_NAME): Define.
|
|
|
|
Rework space/subspace handling in PA code to fully support
|
|
SOM spaces/subspaces.
|
|
* config/tc-hppa.c (USE_ALIASES): New object-format dependent define
|
|
to control the use of space/subspace name aliases.
|
|
(update_subspace): Accept space chain entry for containing space
|
|
as a new parameter. All callers changed.
|
|
(pa_get_label): Use current_space rather than pa_segment_to_space.
|
|
(pa_define_label): Likewise.
|
|
(pa_undefine_label): Likewise.
|
|
(md_begin): Change into the (possibly modified) text_section.
|
|
(pa_parse_space_stmt): Create a new segment/space if create_flag
|
|
is true, and the space name is not one of the two predefined spaces.
|
|
(pa_subspace): Use current_space rather than a lookup via
|
|
pa_segment_to_space. Reset BFD section flags as required by
|
|
the .subspace directive. Likewise for the section alignment.
|
|
Pass the current space to update_subspace and create_new_subspace.
|
|
(pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
|
|
is true. When not using aliases, create a BFD section for each
|
|
subspace encountered. When not using aliases replace the default
|
|
text, data, and bss segments with new ones.
|
|
(create_new_subspace): When not using aliases each subspace has a
|
|
section/segment and subsegments are not needed, so set the subsegment
|
|
to zero.
|
|
|
|
* config/tc-hppa.c (pa_parse_space_stmt): If needed, call
|
|
obj_set_section_attributes to pass space attributes to the
|
|
BFD backend.
|
|
(create_new_space): Likewise.
|
|
(create_new_subspace): Likewise for subspace attributes using
|
|
obj_set_subsection_attributes.
|
|
(update_subspace): Likewise for subspace attributes using
|
|
obj_set_subsection_attributes.
|
|
|
|
* config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
|
|
for $TEXT$ and $PRIVATE$ from the default space structure.
|
|
|
|
* config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
|
|
as appropriate for the given type.
|
|
|
|
* config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
|
|
SOM relocations.
|
|
|
|
* config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
|
|
redefinition.
|
|
|
|
* config/obj-som.[ch]: New files for SOM support. Note SOM
|
|
support is not yet complete in GAS or BFD.
|
|
|
|
* config/ho-hppabsd.h: Delete IO* macros, they are defined in
|
|
stdio.h. Delete declaration of free. Include stdlib.h, unistd.h,
|
|
and string.h.
|
|
|
|
Fri Oct 29 13:26:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* Allow backends to override the section names used for embedded
|
|
stabs support. Needed for SOM.
|
|
* read.c (STAB_SECTION_NAME): Default the name of the stab section
|
|
to ".stab".
|
|
(STAB_STRING_SECTION_NAME): Likewise for the stab strings section.
|
|
(get_stab_string_offset): Is now passed the full name for the
|
|
stab string section rather than a name prefix. All references
|
|
changed.
|
|
(s_stab_generic): New argument for the stab string section name.
|
|
all references changed.
|
|
(s_xstab): Append "str" to the stab section name to get the
|
|
stab string section name.
|
|
* config/obj-coffbfd.c (obj_coff_init_stab_section): Append "str"
|
|
to stab section name to get the stab string section name. Pass
|
|
the full name of the stab string section to get_stab_string_offset.
|
|
* config/obj-elf.c (obj_elf_init_stab_section): Likewise.
|
|
|
|
* config/tc-hppa.c (md_begin): Disable "-R" option to fold
|
|
textand data segments. Warn user "-R" is unsupported on the
|
|
PA.
|
|
|
|
Thu Oct 28 12:36:13 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
|
|
|
* config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
|
|
.align and .ALIGN directives.
|
|
|
|
* 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.
|
|
|
|
* 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.c (pa_parse_space_stmt): Advance
|
|
input_line_poitner when an invalid argument is encountered.
|
|
|
|
Thu Oct 28 13:09:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-a29k.c (md_begin): When opcodes are mashed together in
|
|
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.
|
|
|
|
Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
|
|
fixups. Add 6 for long 7.3 case, 2 for short 7.2 case.
|
|
|
|
* config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
|
|
after a .ent directive.
|
|
|
|
* config/tc-mips.c (mips_ip): Handle '>' case (shift amount
|
|
between 32 and 63 for double shift instruction). Do & 0x1f rather
|
|
than % 32.
|
|
(printInsn): Handle '>'.
|
|
|
|
Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
|
|
number in the right place. Untested. Probably does not work for
|
|
cross assembly. From cagney@cs.adelaide.edu.au (Andrew Cagney).
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
|
|
an illegal offset of 0 or -1.
|
|
|
|
* config/obj-elf.c (obj_elf_init_stab_section): Align .stab
|
|
section to a longword boundary.
|
|
|
|
Tue Oct 26 10:24:31 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* Makefile.in (CHECKFLAGS): Pass down RUNTESTFLAGS.
|
|
|
|
From Jeff Law:
|
|
* config/tc-hppa.c (tc_gen_reloc): ELF32_HPPA_R_ADDEND ->
|
|
HPPA_R_ADDEND.
|
|
|
|
Mon Oct 25 14:06:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Fix up membar argument handling.
|
|
|
|
Mon Oct 25 11:17:58 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
* config/tc-sh.c (build_Mbytes): Write the relocs to the correct
|
|
address. (md_assemble): Make error handling a bit more graceful.
|
|
(md_apply_fix): Don't warn on non aligned displacement.
|
|
|
|
* config/tc-z8k.c (get_specific, built_bytes): Understand all the
|
|
aspects of lda.
|
|
|
|
Mon Oct 25 10:20:31 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
|
|
|
* doc/Makefile.in (install-info): Use "$<*" so VPATH will find
|
|
as.info* even if they're in $(srcdir) (e.g., for FSF
|
|
distributions).
|
|
|
|
* write.c (write_relocs): For relocs that are pc_relative and
|
|
pcrel_offset and not partial_inplace, adjust reloc->addend to
|
|
compensate for a bfd_perform_relocation bug.
|
|
|
|
* config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
|
|
* config/tc-sparc.c: Ditto.
|
|
(tc_gen_reloc): Include fx_offset for pcrel fixups.
|
|
|
|
Sun Oct 24 16:49:00 1993 Jim Wilson (wilson@x1.cygnus.com)
|
|
|
|
* tc-mips.c (md_pseudo_table): Add dword pseudo op.
|
|
|
|
Fri Oct 22 20:40:56 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* messages.c: replaced all variables called Format with 'format',
|
|
for consistency throughout
|
|
|
|
* configure.in: handle mips*- instead of mips, mips*el for little
|
|
endian configurations
|
|
|
|
Fri Oct 22 14:45:49 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* input-scrub.c (physical_input_file, logical_input_file,
|
|
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.
|
|
|
|
Thu Oct 21 12:52:01 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-m68k.h: Don't define REGISTER_PREFIX or
|
|
OPTIONAL_REGISTER_PREFIX if either is already defined.
|
|
|
|
* config/tc-m68k.c (m68k_ip): Delete some code in "#if 0".
|
|
|
|
* configure.in: Set bfd_gas for all sparc targets. Added facility
|
|
for keeping or rejecting 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.)
|
|
|
|
* config/tc-sparc.h (md_end): New macro.
|
|
* config/tc-sparc.c (md_end): Function deleted.
|
|
(BFD_RELOC_*): Delete macros that used to help keep the non-bfd
|
|
version compiling. All sparc targets will use bfd now.
|
|
* tc.h (md_end): Don't declare if it's defined as a macro.
|
|
|
|
Changes from Jeff Law and Peter Hoogenboom:
|
|
|
|
* read.c (next_char_of_string): Limit octal character constants to
|
|
three digits.
|
|
|
|
* config/tc-hppa.h: Major cleanup. Use GNU-style comments. Warn
|
|
against placing additional object-file dependent code here. Warn
|
|
against contaminating all of GAS with the internals of tc-hppa.c
|
|
through inclusion of tc-hppa.h. Delete all forward declarations
|
|
for functions only used within tc-hppa.c, likewise for structures,
|
|
variables, and #defines. Try to group OBJ_ELF and OBJ_SOM
|
|
conditional code in a few small places.
|
|
|
|
* config/tc-hppa.c: Major cleanup. Use GNU-style comments. Group
|
|
structures, global variables, forward declarations together.
|
|
Reduce (or in some cases eliminate) OBJ_ELF and OBJ_SOM
|
|
conditional code -- try to group conditional code together
|
|
into a few places. Make all functions and variables which
|
|
are only used within tc-hppa.c static. PARAMize all functions.
|
|
Add comments to functions. Delete unused functions, variables,
|
|
#defines, etc. Delete unused members within structures. Delete
|
|
ldil;ble hacks -- it is believed they were installed to work
|
|
around old gas bugs. Avoid using mixed case for local
|
|
functions, variables, and structures. Fix formatting problems
|
|
not found by GNU-indent. Add FIXME notices for things which
|
|
should be worked on the near future. Delete lots of old
|
|
useless (1.36 PA-SOM) code.
|
|
|
|
* config/tc-hppa.c: (fix_new_hppa): Initialize the fx_r_type
|
|
field of the fixS structure. Needed to build unwind
|
|
descriptors correctly.
|
|
|
|
* write.c: (fixup_segment): Allow expressions such as
|
|
sym1-sym2+const as long as sym2 is $global$.
|
|
|
|
* write.c (adjust_reloc_syms): Provide a hook so that a target
|
|
cpu configuration can reject certain relocation reductions.
|
|
* tc-hppa.h (tc_fix_adjustable): New macro. Only accept relocations
|
|
which do not involve function symbols.
|
|
|
|
* config/tc-hppa.h: Reindent with GNU-indent. Delete references
|
|
to OBJ_OSFROSE. Fix typos (OBJ_SOME -> OBJ_SOM). Delete unused
|
|
STAB_FIXUP macro.
|
|
* config/tc-hppa.c: Likewise.
|
|
|
|
* config/tc-hppa.c (md_apply_fix_1): Use elf_symbol_type, instead
|
|
of elf32_symbol_type.
|
|
(pa_export_args): Likewise.
|
|
(elf_hppa_final_processing): Likewise.
|
|
(pa_desc): Do not call obj_elf_desc. (Is pa_desc even needed
|
|
anymore?)
|
|
(hppa_tc_make_sections): Do not declare elf_get_symtab_map any
|
|
ore.
|
|
|
|
* config/tc-hppa.c: (md_section_align): Align all sections to
|
|
a multiple of the section alignment rather than always a
|
|
multiple of 8.
|
|
|
|
* config/tc-hppa.c (hppa_tc_symbol): If the argument relocation
|
|
bits are zero (eg they specify no relocations), then do not even
|
|
bother adding their entries to thesymextn section.
|
|
|
|
Thu Oct 21 15:44:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
|
|
option, which is used by the SunOS make default .s.o rule.
|
|
|
|
Wed Oct 20 12:26:33 1993 Ken Raeburn (raeburn@rover.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip, label "immediate"): Convert relocs
|
|
operating on upper 32 bits of immediate constants to lower-half
|
|
relocs with adjusted constants.
|
|
|
|
Tue Oct 19 18:13:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
|
|
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.
|
|
|
|
Thu Oct 14 16:51:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
|
|
(s_option): Ignore .option O* and .option pic*.
|
|
(s_ent): Skip whitespace between symbol and optional digit.
|
|
(my_getSmallExpression): Handle ($xx) correctly: assume 0($xx).
|
|
|
|
* app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
|
|
characters in state 6.
|
|
* read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
|
|
hexidecimal digits.
|
|
|
|
* config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
|
|
for ELF by hacking around bizarre bfd_perform_relocation behaviour
|
|
that I don't dare change.
|
|
|
|
Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
|
|
|
|
* 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.
|
|
|
|
Wed Oct 13 16:50:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (fixup_segment) [DIFF_EXPR_OK]: If
|
|
sub_symbolP is in the current segment, convert to a PC-relative
|
|
fixup and discard the symbol.
|
|
|
|
Wed Oct 13 14:00:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
|
|
for st_StaticProc just like st_Proc.
|
|
|
|
* write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
|
|
so that OBJ_BOUT doesn't forget to adjust all the fragments in the
|
|
.bss section.
|
|
|
|
Tue Oct 12 17:26:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
|
|
(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.
|
|
|
|
Tue Oct 12 03:33:26 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* messages.c (as_fatal): Use myname when printing messages.
|
|
|
|
* config/tc-i960.c (md_begin): Use null pointer, not empty string,
|
|
as initial "return" value in case hashing isn't needed.
|
|
|
|
* config/tc-a29k.c (md_atof): Return null, not empty string, on
|
|
success.
|
|
* config/tc-h8300.c (md_atof), config/tc-h8500.c (md_atof),
|
|
config/tc-hppa.c (md_atof), config/tc-i860.c (md_atof),
|
|
config/tc-i960.c (md_atof), config/tc-m88k.c (md_atof),
|
|
config/tc-ns32k.c (md_atof), config/tc-sh.c (md_atof): Ditto.
|
|
|
|
Mon Oct 11 16:46:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
fix for pr 3571
|
|
* config/tc-h8300.c (get_specific): Special action if 8 bit
|
|
address seen. (check_operand): Don't complain if truncating top
|
|
bits of an 8 bit address. (build_bytes): Allow an immediate and
|
|
an absolute in the same insn.
|
|
|
|
Mon Oct 11 17:18:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* write.c (write_contents): Don't crash if seginfo is NULL.
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Write out register masks
|
|
by modifying .reginfo section, not by directly modifying BFD
|
|
backend data.
|
|
|
|
Mon Oct 11 14:11:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* config/ho-sunos.h: remove extern time declaration
|
|
|
|
Mon Oct 11 16:14:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* messages.c (as_fatal): Do mention that it's the assembler that
|
|
got the fatal error.
|
|
|
|
Fri Oct 8 14:09:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
|
|
hold register masks.
|
|
(md_begin): Initialize them to zero.
|
|
(append_insn): Update mips_gprmask and mips_cprmask. Also add
|
|
register variables pinfo and prev_pinfo.
|
|
* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
|
|
* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
|
|
and cprmask from mips_gprmask and mips_cprmask.
|
|
|
|
* config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
|
|
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
|
|
(various): Change all references to GP references to apply if
|
|
GPOPT, not if OBJ_ECOFF.
|
|
(s_change_sec): Rearrange somewhat. If OBJ_ELF, use .rodata
|
|
instead of .rdata. If OBJ_ELF, set section flags for .rodata and
|
|
.sdata sections.
|
|
(s_frame, s_loc, s_mask): Comment out entire functions, rather
|
|
than just body. They're not used anyhow.
|
|
* configure.in: Set cpu_type to mips for mips*. Accept
|
|
mips-*-elfl* and mips-*-elf*.
|
|
|
|
Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
|
|
|
|
* config/obj-elf.c (obj_elf_common): Allow the alignment field to
|
|
not be specified.
|
|
|
|
Wed Oct 6 13:01:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (cons_fix_new_mips): New function. Turn
|
|
BFD_RELOC_64 into BFD_RELOC_32.
|
|
* config/tc-mips.h (TC_CONS_FIX_NEW): Define.
|
|
(cons_fix_new_mips): Declare.
|
|
|
|
Changes to let cons handle bignums like general expressions.
|
|
* expr.h (expressionS): New field X_unsigned.
|
|
* expr.c (operand): Initialize X_unsigned to 1. Set it to 0 for
|
|
unary minus case.
|
|
(expr) Fix typo resultP to right if missing operand. Set
|
|
X_unsigned to 1 when building new expression.
|
|
* read.c (potable): Make "octa" and "quad" call cons, not
|
|
big_cons.
|
|
(cons): Handle bignums. If given an O_constant (small integer) to
|
|
fill a big space, turn it into a bignum.
|
|
(parse_bitfield_cons): Set X_unsigned field.
|
|
(bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
|
|
Removed.
|
|
* read.h (big_cons): Remove prototype.
|
|
* symbols.c (resolve_symbol_value): Don't give a warning if a
|
|
symbol in expr_section can not be resolved.
|
|
(S_SET_VALUE): Clear X_unsigned.
|
|
* write.c (write_object_file): If resolve_symbol_value failed on a
|
|
symbol we are writing out, give a warning.
|
|
* config/tc-h8500.c (parse_reglist): Set X_unsigned.
|
|
* config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
|
|
call pa_cons, not pa_big_cons.
|
|
(pa_big_cons): Remove.
|
|
* config/tc-hppa.h (pa_big_cons): Remove declaration.
|
|
* config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
|
|
not big_cons.
|
|
|
|
Tue Oct 5 10:53:36 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* doc/as.texinfo (Copying): new node, to handle the recent changes
|
|
in the texinfo/gpl.texinfo file
|
|
|
|
Mon Oct 4 17:10:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (big_cons): Handle "0" correctly.
|
|
|
|
* config/tc-mips.c (md_begin): Set target_big_endian correctly.
|
|
|
|
Mon Oct 4 15:37:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): Mode 7.3 operand using PC should
|
|
have pc-relative fixup.
|
|
(md_parse_option): Move "-k" case down near "-pic" case.
|
|
|
|
* configure.in: Alphabetize list of cpu type alternatives. Enable
|
|
OS values of "linux*elf*" and "linux*coff*" to select those
|
|
formats, with linux emulation. Don't bother checking for upper-
|
|
or mixed-case versions of "ose".
|
|
|
|
Thu Sep 30 11:05:35 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
* config/z8k.c (md_pseudo_table): add "unseg".
|
|
|
|
Wed Sep 29 16:15:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* config/m88k-opcode.h (m88k_opcodes): correct a few mistakes
|
|
found while extending the dissassembler.
|
|
|
|
Tue Sep 28 12:02:04 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
|
|
|
* configure.in: Split i386 LynxOS out from other coff targets,
|
|
add a specific Lynx emulation.
|
|
Add m68k LynxOS target.
|
|
* config/tc-i386.c: Define specific Lynx target format.
|
|
* config/tc-m68k.c: Define specific Lynx target format.
|
|
* config/te-lynx.h: New file.
|
|
|
|
* config/obj-coffbfd.h: Don't set TARGET_FORMAT to be
|
|
"coff-{i386,m68k}" if TARGET_FORMAT already defined.
|
|
(INIT_STAB_SECTION): Define.
|
|
* config/obj-coffbfd.c: Include <time.h>.
|
|
(write_object_file): Look for .stab sections and call
|
|
adjust_stab_section.
|
|
(adjust_stab_section): New function, fills in the first symbol
|
|
of a stab section with number of symbols and string table size.
|
|
(obj_coff_init_stab_section): New function, creates the initial
|
|
symbol for a stab section.
|
|
|
|
Mon Sep 27 15:21:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/atof-vax.c (md_atof): Return null on success instead of
|
|
empty string.
|
|
* config/atof-tahoe.c (md_atof): Ditto.
|
|
* read.c (float_cons): Expect a null pointer for success, not an
|
|
empty string.
|
|
|
|
* hash.c (hash_insert, hash_jam, hash_grow): Return null pointer
|
|
on success, instead of empty string. All callers changed.
|
|
|
|
* config/tc-vax.c: Use PARAMS in declarations.
|
|
(vip_op): Use NULL instead of empty string for success in error
|
|
and warning fields.
|
|
|
|
Sun Sep 26 23:45:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of two symbols
|
|
in different defined segments.
|
|
|
|
* write.c (relax_segment): Localize "aim" variable. If
|
|
DIFF_EXPR_OK, don't impose checks on symbol segment types.
|
|
(fixup_segment) [DIFF_EXPR_OK]: If sub_symbolP is in the current
|
|
segment, convert to a PC-relative fixup and discard the symbol.
|
|
|
|
* config/tc-m68k.c (flag_want_pic): New variable, mostly ignored.
|
|
(md_parse_option) [TE_SUN3]: Set it for "-k".
|
|
(m68k_ip): Generate proper fixup for mode 7.3.
|
|
* config/tc-m68k.h (DIFF_EXPR_OK): Define.
|
|
|
|
Sat Sep 25 05:08:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (struct m68k_incant, getone, gettwo): Moved
|
|
earlier in the file.
|
|
(insop, add_exp): Now defined as functions, for readability.
|
|
(insop): Now takes two arguments; callers changed.
|
|
|
|
Fri Sep 24 12:37:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* config/tc-m88k.c (get_o6): new function.
|
|
(get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
|
|
get_vec9, getval, get_pcr, calcop, match_name): make static and
|
|
prototype.
|
|
(s_file): remove extraneous forward decl.
|
|
(md_begin): add const to retval decl.
|
|
(calcop): cope with instructions without arguments. Handle 'o'
|
|
type argument, the o6 field of the prot insn.
|
|
(md_estimate_size_before_relax): return a dummy value.
|
|
|
|
* config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
|
|
in bits 10 through 7. flt.[dxs]s requires an r register in the
|
|
second argument. New instruction lda.x. New instruction muls
|
|
(alias for mul).
|
|
|
|
Fri Sep 24 13:43:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Makefile.in (distclean): Recurse like clean.
|
|
* doc/Makefile.in (distclean): New target.
|
|
|
|
* config/tc-mips.c (md_begin): Set BFD architecture and machine
|
|
based on MIPS ISA level.
|
|
|
|
Thu Sep 23 17:58:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* as.c (main): "exhausted", not "exhuasted".
|
|
|
|
* struc-symbol.h (struct symbol): Add sy_used_in_reloc field.
|
|
* write.c (adjust_reloc_syms): Set sy_used_in_reloc.
|
|
(write_object_file): Never strip symbols with sy_used_in_reloc
|
|
set.
|
|
|
|
* config/obj-elf.c (obj_elf_section): Rewrote to handle both
|
|
Solaris and SVR4 style .section pseudo-ops.
|
|
(obj_elf_ident): Set SEC_READONLY for .comment section.
|
|
* config/tc-sparc.c (md_apply_fix): If this is ELF, and we're
|
|
generating a reloc, don't apply a fix.
|
|
|
|
Thu Sep 23 13:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (relax_align): Now static.
|
|
|
|
Mon Sep 20 19:23:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (get_stab_string_offset): Make non-static. Make
|
|
arguments const. Don't align strings to 4 byte boundaries.
|
|
* read.h: Declare get_stab_string_offset.
|
|
* config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
|
|
SEC_LOAD for progbits section.
|
|
(obj_elf_init_stab_section): New function.
|
|
(adjust_stab_sections): Add casts to avoid warnings.
|
|
* config/obj-elf.h (INIT_STAB_SECTION): Call
|
|
obj_elf_init_stab_section.
|
|
(OBJ_PROCESS_STAB): Removed definition.
|
|
|
|
Fri Sep 17 18:12:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.h (S_GET_SIZE): Define.
|
|
(obj_frob_forward_symbol): Define.
|
|
* config/tc-i386.c (line_comment_chars): Initialize in all cases.
|
|
|
|
Thu Sep 16 14:23:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* tc.h: Declare tc_gen_reloc differently depending upon
|
|
RELOC_EXPANSION_POSSIBLE.
|
|
* config/obj-elf.c (obj_elf_section): Only set flags when first
|
|
creating the section.
|
|
|
|
Wed Sep 15 12:15:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (append_insn): Don't swap a trap instruction
|
|
with a branch.
|
|
|
|
Tue Sep 14 13:31:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
|
|
set previous_section and previous_subsection and then call s_data
|
|
and s_text, respectively.
|
|
(obj_pseudo_table): Add data and text.
|
|
(obj_elf_section): Add SEC_LOAD to default initialization of
|
|
flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
|
|
SEC_ALLOC for "alloc" string. Don't bother trying to find the
|
|
section; just use subseg_new.
|
|
|
|
* read.c (change_to_section): Removed. This is now done by
|
|
subseg_new.
|
|
(get_stab_string_offset): Rearranged somewhat. Create the section
|
|
using subseg_new. Store the string index in seg_info, rather than
|
|
in a static variable. Force the first string to be empty. Use
|
|
frag_more rather than FRAG_APPEND_1_CHAR.
|
|
(s_stab_generic): Rewrote.
|
|
* subsegs.h (segment_info_type): Added stabu union.
|
|
* subsegs.c (subseg_new): Initialize stab_string_size to 0.
|
|
* config/obj-aout.c: Don't include aout/stab_gnu.h.
|
|
(obj_aout_stab, obj_aout_desc): Removed.
|
|
(obj_pseudo_table): Removed desc and stabX entries.
|
|
* config/obj-bout.c: Same changes as config/obj-aout.c.
|
|
* config/obj-bout.h (S_SET_TYPE): Define.
|
|
(tc_bout_fix_to_chars): Declare.
|
|
* config/obj-coff.c (obj_coff_stab): Removed.
|
|
(obj_pseudo_table): Removed desc and stabX entries.
|
|
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
|
|
* config/obj-coffbfd.c (current_stab_symbol): Removed.
|
|
* config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
|
|
n_other, n_desc and n_value fields.
|
|
(S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
|
|
(MAKE_STAB_SYMBOL): Removed.
|
|
* config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
|
|
Changed arguments and removed parsing code.
|
|
(obj_pseudo_table): Removed stabX entries.
|
|
* config/obj-ecoff.h (ecoff_stab): Declare.
|
|
(OBJ_PROCESS_STAB): Define.
|
|
* config/obj-elf.c: Don't include aout/stab_gnu.h.
|
|
(obj_elf_stab, obj_elf_xstab, obj_elf_desc,
|
|
elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
|
|
Removed.
|
|
(obj_pseudo_table): Removed desc, stabX and xstabs entries.
|
|
(obj_elf_version): Use subseg_new, not bfd_make_section. Don't
|
|
set SEC_LOAD for .note section.
|
|
(adjust_stab_sections): Get frag pointer from seg_info, rather
|
|
than looking through frags.
|
|
* config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
|
|
(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
|
|
Define.
|
|
* config/obj-vms.c (obj_aout_stab): Removed.
|
|
(obj_pseudo_table): Removed stabX entries.
|
|
* config/obj-vms.h (S_SET_TYPE): Define.
|
|
|
|
* as.h: Declare listing.
|
|
* read.c: Don't declare listing.
|
|
(emit_expr): Cast fix_new_exp argument.
|
|
(parse_bitfield_cons): Correct printf format.
|
|
* symbols.c (symbol_new): Add cast to avoid warning.
|
|
* write.h: Declare text_last_frag and data_last_frag.
|
|
* config/obj-bout.c (obj_bout_line): Added dummy argument.
|
|
* config/obj-coffbfd.c: Add some casts to avoid warnings.
|
|
* config/tc-a29k.c: Likewise.
|
|
* config/tc-i960.c: Likewise. Also fully bracket structure
|
|
initializations, fix printf formats, and remove unused variables.
|
|
|
|
Mon Sep 13 16:48:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (s_desc): Only compile and use if S_SET_DESC is defined.
|
|
* struc-symbol.h: Declare verify_symbol_chain and
|
|
verify_symbol_chain_2 even if not SYMBOLS_NEED_BACKPOINTERS.
|
|
* symbols.c (verify_symbol_chain): Removed useless expression.
|
|
* write.c (headers, the_object_file): Only use if not
|
|
BFD_ASSEMBLER and not BFD.
|
|
(fixup_segment, cvs_frag_to_fill): Only use if BFD_ASSEMBLER or
|
|
not BFD.
|
|
(merge_data_into_text): Only use if BFD_ASSEMBLER or (not BFD and
|
|
not OBJ_AOUT).
|
|
* write.h: Declare relax_segment.
|
|
* config/obj-coffbfd.c (stack_pop, stack_push, stack_init): Made
|
|
static.
|
|
(stack_top): Commented out, since it's not used.
|
|
Fixed up pseudo-op functions to take an ignored int argument.
|
|
(size_section): Added default BAD_CASE to switch.
|
|
Changed bzero calls to memset.
|
|
* config/obj-coffbfd.h (S_IS_LOCAL): Call strchr on S_GET_NAME
|
|
(s), not on s itself.
|
|
* config/tc-a29k.c (s_use): Take ignored int argument. Only
|
|
define if OBJ_COFF is not defined.
|
|
* config/tc-i386.c: (fits_in_signed_byte, smallest_imm_type): Make
|
|
argument signed again.
|
|
* config/tc-m68k.c (s_bss, s_even, s_proc): Take ignored int
|
|
argument.
|
|
(m68k_ip): Fully bracket initialization of archs.
|
|
Correct several formats for __LINE__ to be %d rather than %s.
|
|
(init_table): Fully bracket initialization.
|
|
Cast values larger than 0x7f assigned to fr_opcode to char.
|
|
|
|
* subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
|
|
Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a
|
|
section name, and subseg_set always takes a segT. Changed all
|
|
callers as appropriate.
|
|
* config/obj-coffbfd.c (change_to_section): Renamed to
|
|
obj_coff_add_segment. Corrected. Made callers use subseg_new.
|
|
* config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
|
|
Define.
|
|
|
|
Mon Sep 13 13:15:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'.
|
|
|
|
Fri Sep 10 11:22:08 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
|
|
|
|
Gcc lint.
|
|
* Added a number of casts to function calls.
|
|
* app.c (do_scrub_begin), as.c (main), expr.c (integer_constant,
|
|
operand, expr), read.c (read_begin, HANDLE_CONDITIONAL_ASSEMBLY,
|
|
read_a_source_file, s_align_bytes, demand_empty_rest_of_line,
|
|
ignore_rest_of_line, big_cons, is_it_end_of_statement, s_ignore),
|
|
read.h (is_name_beginner, is_part_of_name), config/obj-elf.c
|
|
(obj_elf_section), config/tc-i386.c (parse_register),
|
|
config/tc-sparc.c (isoctal, s_proc): Cast char
|
|
array indices to unsigned char.
|
|
* app.c (process_escape): Make static. Add prototype. Change
|
|
argument from char to int.
|
|
* as.c: Include output-file.h for prototypes. Comment out unused
|
|
function got_sig.
|
|
* Makefile.in (as.o): Depend on output-file.h.
|
|
* as.h (BAD_CASE): Cast val argument to long, and use %ld.
|
|
(pseudo_typeS): Add prototype to poc_handler field.
|
|
(print_version_id): Add prototype.
|
|
(xmalloc, xrealloc): Change size arguments to unsigned long.
|
|
(do_scrub_next_char): Add prototypes for function arguments.
|
|
(had_errors, had_warnings, scrub_from_file): Remove duplicate
|
|
declarations.
|
|
* atof-generic.c (atof_generic): Make size variables unsigned.
|
|
* cond.c (ignore_input): Removed unused local variable ptr.
|
|
* expr.c (floating_constant, integer_constant): Make static. Add
|
|
prototypes.
|
|
* flonum-copy.c (flonum_copy): Make size variables unsigned.
|
|
* frags.h: Add prototype for frag_init.
|
|
* hash.h, hash.c: Change hash values from char * to PTR, make hash
|
|
strings const, make returned error strings const char *. Added
|
|
prototypes for functions.
|
|
* input-file.h, input-file.c (input_file_buffer_size): Return
|
|
unsigned int.
|
|
* input-scrub.c (buffer_length): Make unsigned.
|
|
(input_scrub_push, input_scrub_pop): Make static.
|
|
* listing.c (list_symbol_table): Cast sprintf argument to unsigned
|
|
long and use %lx. Print name of segment rather than address of
|
|
structure.
|
|
(listing_list, listing_title): Change argument to int.
|
|
(listing_eject, listing_flags, listing_psize): Add int argument.
|
|
* listing.h: Corresponding declaration changes.
|
|
* obj.h (obj_emit_symbols): Rename prototype argument to avoid
|
|
shadowing.
|
|
* read.h: Change get_absolute_expression prototype to return
|
|
offsetT. Add prototype for next_char_of_string. Various
|
|
prototype changes.
|
|
* read.c: Remove prototype for next_char_of_string.
|
|
(pobegin): Make errtxt const. Make new_length, tmp_len and num
|
|
unsigned.
|
|
(s_abort, s_align_ptwo, s_comm, s_data, s_app_line, s_fill,
|
|
s_globl, s_lsym, s_org, s_set, s_text, s_desc): Add int argument.
|
|
Change all callers.
|
|
(s_comm): Change temp from valueT to offsetT. Cast to long when
|
|
printing and use %ld (only for error messages anyhow).
|
|
(s_long, s_int): Remove unused functions.
|
|
(cons): Change argument to int.
|
|
(emit_expr): Use %lx when printing longs.
|
|
(get_absolute_expression): Return offsetT, not long.
|
|
(get_stab_string_offset): Comment out unless
|
|
SEPARATE_STAB_SECTIONS.
|
|
(s_stab_generic): Remove unused offset. Define seg_is_new only
|
|
if SEPARATE_STAB_SECTIONS. Use toP only in local block.
|
|
* struc-symbol.h (verify_symbol_chain_2): Add prototype.
|
|
* symbols.c: Remove nested comment.
|
|
(symbol_new): Rename value to valu.
|
|
(colon): Use %ld and cast to long in error message.
|
|
* symbols.h: Remove duplicate verify_symbol_chain declaration.
|
|
* tc.h: Remove unused md_emit_relocations declaration.
|
|
(tc_gen_reloc): Add declaration.
|
|
* write.c (cvt_frag_to_fill): Change first argument name depending
|
|
on BFD_ASSEMBLER.
|
|
(write_relocs): Remove unused offset, frags. Remove tc_gen_reloc
|
|
declarations. Make n unsigned.
|
|
(write_contents): Remove unused i, n, relocs, fixp. Rename frags
|
|
to f to avoid shadowing.
|
|
(write_object_file): Define fragP only if not BFD_ASSEMBLER or not
|
|
WORKING_DOT_WORD. Remove unused keep. Only declare punt and
|
|
punt_it if they will be used. Make i and n unsigned.
|
|
(fixup_segment): Cast to long and use %ld in error message.
|
|
* xmalloc.c (xmalloc, xrealloc): Make size argument unsigned.
|
|
* config/obj-aout.h: Remove nested comment. Add prototype for
|
|
obj_aout_frob_symbol.
|
|
(obj_aout_line, obj_aout_desc): Add int argument.
|
|
* config/obj-ecoff.c: Changed build routines to use an unsigned
|
|
offset.
|
|
(add_string): Make len unsigned long.
|
|
(obj_ecoff_stab): Use %lu in error message.
|
|
* config/obj-elf.c (obj_elf_common): Comment out unused label
|
|
allocate_bss.
|
|
(obj_elf_frob_symbol): Return 0 (currently broken).
|
|
(obj_elf_desc, obj_elf_version, obj_elf_size, obj_elf_type,
|
|
obj_elf_ident, obj_elf_weak, obj_elf_local, obj_elf_common,
|
|
obj_elf_line, obj_elf_previous): Add int argument.
|
|
(obj_elf_write_symbol_p): Make static.
|
|
* config/obj-elf.h (obj_elf_write_symbol): Add prototype.
|
|
* config/tc-hppa.h: Remove declarations of functions declared in
|
|
read.h.
|
|
* config/tc-i386.c (ENCODE_RELAX_STATE): Cast to relax_substateT.
|
|
(s_bss): Add int argument.
|
|
(fits_in_signed_byte, smallest_imm_type): Make argument unsigned.
|
|
(dummy): Remove unused function.
|
|
(md_assemble): Rename local o to op to avoid shadowing.
|
|
(tc_gen_reloc): Rename local reloc to rel to avoid shadowing.
|
|
* config/tc-m68k.c (s_data1, s_data2): Add int argument.
|
|
* config/tc-mips.c (mips_ip, md_apply_fix): Cast to long and use
|
|
%ld in error messages.
|
|
* config/tc-sparc.c: Remove duplicate declarations.
|
|
(getExpression): Rewrite condition to avoid empty conditional
|
|
body.
|
|
(s_reg, s_proc, s_reserve, s_common, s_seg, s_xword): Add int
|
|
argument.
|
|
|
|
Thu Sep 9 17:10:00 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
Changes from Jeff Law:
|
|
|
|
* config/tc-hppa.c (md_assemble): Fix typo.
|
|
(pa_ip): Delete unused variables and labels. Do not check for
|
|
unsigned values being < 0, it can't happen.
|
|
(is_same_frag): Return a value in recursive call case.
|
|
(pa_callinfo): Delete unused variables and labels.
|
|
(pa_comm): Likewise.
|
|
(pa_copyright): Likewise.
|
|
(pa_export): Likewise.
|
|
(pa_import): Likewise.
|
|
(pa_param): Likewise.
|
|
(pa_space): Likewise.
|
|
(pa_subspace): Likewise.
|
|
|
|
Thu Sep 9 15:05:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* read.c (get_stab_string_offset, s_stab_generic): If
|
|
BFD_ASSEMBLER, call subseg_set rather than subseg_new.
|
|
|
|
Wed Sep 8 15:09:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
|
|
default flag values.
|
|
|
|
Tue Sep 7 10:22:52 1993 Stan Shebs (shebs@rtl.cygnus.com)
|
|
|
|
* read.c: (change_to_section): Don't include body if not MANY_SECTIONS.
|
|
|
|
* read.c: (s_stab, s_xstab, s_desc): New functions to parse
|
|
various stab-related directives.
|
|
* read.h: (s_stab, s_xstab, s_desc): New function prototypes.
|
|
* write.c: (merge_data_into_text): Fix ifdef tangle.
|
|
* config/obj-coffbfd.c (current_stab_symbol): Fake symbol
|
|
for stab reader to use.
|
|
* config/obj-coffbfdh.h (obj_symbol_type): Added fields for
|
|
stab reader, macros to access.
|
|
|
|
Fri Sep 3 16:44:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-elf.h (elf_symbol): No longer special-cased on
|
|
sparcv9, since elf_symbol_type is now independent of size.
|
|
|
|
* config/obj-elf.h (elf_symbol): Fixed name of elf_symbol_type.
|
|
|
|
* config/tc-hppa.h (struct default_subspace_dict, struct
|
|
default_space_dict): Field "sort" is now unsigned char.
|
|
|
|
* config/tc-hppa.c (pa_def_subspaces, pa_def_spaces): Align
|
|
columns for easier reading.
|
|
(bcmp, index): Deleted USG-specific definitions. Should be dealt
|
|
with in ho-*.h, or in libiberty. Changed mention of index to
|
|
strchr.
|
|
(label_symbolP, label_symbol_defined, callinfo_found,
|
|
within_entry_exit, exit_processing_complete, within_procedure,
|
|
pa_def_subspaces, pa_def_spaces, pa_pseudo_op_moves_pc,
|
|
label_symbols_rootP, pa_get_label, pa_label_is_defined,
|
|
pa_undefine_label): Now static.
|
|
(movers): Now const, in addition to pointing to const data.
|
|
* config/tc-hppa.h (label_symbolS_rootP, pa_get_label,
|
|
pa_label_is_defined, pa_undefine_label, pa_pseudo_op_moves_pc):
|
|
Delete declarations.
|
|
|
|
Merged more changes from Jeff Law and Pete Hoogenboom:
|
|
|
|
* config/tc-hppa.c (pa_def_subspaces, pa_def_subspaces): Remove
|
|
entries for .stab and .stabstr.
|
|
|
|
* config/obj-elf.c: (elf_stab_symbol_string): Set the
|
|
SEC_LOAD attribute for the .stabstr section.
|
|
(obj_elf_stab_generic): Set the SEC_LOAD attribute for the
|
|
.stab section.
|
|
(obj_elf_stab_generic): Change '#if 1' to '#if 0'.
|
|
(obj_elf_stab_generic): Incorrect byte count on call to
|
|
md_number_to_chars function.
|
|
|
|
* config/tc-hppa.c (hppa_tc_symbol): Static functions need
|
|
argument relocation bits too.
|
|
|
|
* config/tc-hppa.c (pa_stringer): Correctly handle escaping
|
|
characters which should appear unaltered in the output string (for
|
|
example an escaped double-quote).
|
|
|
|
* config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Always
|
|
initialize name.
|
|
(pa_parse_neg_cmpsub_cmpltr): Likewise.
|
|
(pa_parse_nonneg_add_cmpltr): Likewise.
|
|
(pa_parse_neg_add_cmpltr): Likewise.
|
|
|
|
* config/tc-hppa.h (parse_cons_expression_hppa): Remove prototype
|
|
for now.
|
|
(cons_fix_new_hppa): Likewise.
|
|
* config/tc-hppa.c (md_apply_fix): Fix type of valp to match
|
|
prototype.
|
|
|
|
* config/tc-hppa.c: Include libhppa.h.
|
|
|
|
* config/tc-hppa.h: Delete extern declarations of functions
|
|
found in libhppa.h.
|
|
|
|
* config/tc-hppa.c (pa_space): Rework to avoid unwanted #ifdef
|
|
OBJ_ELF conditionals.
|
|
* config/tc-hppa.h (LOCAL_LABEL): Correctly identify local labels
|
|
on the PA.
|
|
|
|
Thu Sep 2 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (macro_build): Accept 'z', and ignore it.
|
|
(macro): Use "z,s,t" for div instructions to match corresponding
|
|
change in opcode table.
|
|
(mips_ip): Added 'z'--must be zero register.
|
|
|
|
Wed Sep 1 15:56:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Declare
|
|
tc_gen_reloc correctly.
|
|
|
|
* configure.in: Use "case" instead of "if" when possible. Rewrote
|
|
Makefile editing to reduce work done. Treat "hppa*" as "hppa".
|
|
|
|
Wed Sep 1 12:19:07 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (obj_coff_section): add 'd' as an alias for
|
|
section type of data. 'd' seems to be used for m88k.
|
|
|
|
Wed Aug 25 22:33:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_align, s_stringer, s_cons, s_float_cons,
|
|
s_mips_space): Set insn_label to NULL to avoid changing it at the
|
|
next .align statement.
|
|
(append_insn): Don't swap jal with instruction that sets the
|
|
register that jal sets.
|
|
|
|
Wed Aug 25 16:15:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* configure.in: recognize m88110.
|
|
|
|
Wed Aug 25 13:37:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
Merged changes from Pete Hoogenboom and Jeff Law at Utah:
|
|
* config/tc-hppa.c (pa_build_unwind_subspace): SEC_ALLOC should
|
|
not be on for .hppa_unwind.
|
|
(md_pseudo_table): .PARAM and .param are valid pseudo-ops for GAS.
|
|
(pa_param): New function to handle .PARAM directives.
|
|
(pa_ip): Pass "isbranch" argument down to pa_parse_*_compltr
|
|
functions. Handle '|' for movb; allow movb,n.
|
|
(pa_parse_nonneg_cmpsub_cmpltr): Delete old useless
|
|
version. Handle cases where no completer exists for
|
|
comb,n or addb,n.
|
|
(pa_parse_neg_cmpsub_cmpltr): Handle cases where no
|
|
completer exists for comb,n or addb,n. Make logic
|
|
mirror that of pa_parse_nonneg_cmpsub_cmpltr.
|
|
(pa_parse_nonneg_add_cmpltr): Likewise.
|
|
(pa_parse_neg_add_cmpltr): Likewise.
|
|
* tc-hppa.h (pa_param): Declare.
|
|
|
|
Tue Aug 24 15:41:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-hppa.c (hppa_tc_make_symextn_section): Now static.
|
|
Added forward declaration.
|
|
|
|
Merged changes from Pete Hoogenboom and Jeff Law at Utah:
|
|
|
|
* config/obj-elf.c (elf_frob_file): Arguments were incorrect on
|
|
call to elf_tc_make_sections.
|
|
(obj_elf_version): A .note section shouldn't have the SEC_ALLOC
|
|
attribute.
|
|
|
|
* config/tc-hppa.c (hppa_tc_make_sections): Add some processing to
|
|
handle symbol extension sections.
|
|
|
|
* config/tc-hppa.c (pa_build_symextn_section): New function to
|
|
create a symbol extension section.
|
|
(pa_export_args): Make call to pa_build_symextn_section.
|
|
(hppa_tc_symbol, hppa_tc_make_sections,
|
|
hppa_tc_make_symextn_section): New functions.
|
|
* config/tc-hppa.h: Update elf_tc_symbol and elf_tc_make_sections
|
|
macros.
|
|
|
|
* read.c (emit_expr): Place check for TC_CONS_FIX_NEW in the
|
|
BFD_ASSEMBLER branch as well.
|
|
|
|
* config/tc-hppa.h: If ELF is the target object format, define
|
|
some ELF- and hppa-specific types and constants.
|
|
|
|
* config/tc-hppa.c (getExpression): Fix a typo.
|
|
|
|
* read.c (read_a_source_file): Use TC_EQUAL_IN_INSN to determine
|
|
if a `=' is part of an instruction.
|
|
(read_a_source_file): Handle case where end-of-line markers are
|
|
also used within instructions.
|
|
* config/tc-hppa.h (TC_EQUAL_IN_INSN, TC_EOL_IN_INSN): Define.
|
|
|
|
* config/tc-hppa.c (md_apply_fix_1): Keep relocations for
|
|
out-of-range branches/'calls using "bl" or calls which may need
|
|
argument relocation stubs. Do not need/keep relocations for
|
|
conditional branches.
|
|
(elf_hppa_final_processing): Fix calculation of function size.
|
|
|
|
* config/obj-elf.c (obj_elf_version): Mark .note section as
|
|
READONLY.
|
|
|
|
* config/tc-hppa.c (parse_cons_expression_hppa): Pass exp, not the
|
|
address of exp, to expression.
|
|
(pa_build_unwind_subspace): Turn SEC_HAS_CONTENTS flag on.
|
|
(md_apply_fix_1): Delete unwanted comments.
|
|
(process_exit): Symbols marking the end of a function are always
|
|
BSF_LOCAL.
|
|
|
|
* config/tc-hppa.c: Include elf32-hppa.h from BFD tree.
|
|
(pa_space): Declare and initialize gdb_section.
|
|
|
|
* config/obj-elf.c (elf_frob_file): Change
|
|
elf_tc_final_processing_hook to elf_tc_final_processing.
|
|
|
|
* config/tc-hppa.c (fix_new_hppa): Fix argument list to match
|
|
argument type declarations.
|
|
(getExpression): Fix typo.
|
|
(pa_export_args): Change elf_symbol_type to elf32_symbol_type.
|
|
(elf_hppa_final_processing): Likewise. Name changed from
|
|
elf_hppa_final_processing_hook.
|
|
(start_symbol_root, start_symbol_last): Deleted.
|
|
|
|
* config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION): Fix typo.
|
|
|
|
* config/tc-hppa.h: Replace "symbolS" with "struct symbol" to
|
|
avoid changing include ordering.
|
|
|
|
* config/tc-hppa.c (pa_ip, case 'y'): Handle just like 't'.
|
|
|
|
Mon Aug 23 12:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (set_at): Added unsignedp argument. Use
|
|
load_register.
|
|
(set_at_unsigned): Removed; changed callers to use set_at.
|
|
(load_register): Removed unused ip argument. Changed callers.
|
|
(append_insn): Don't swap branch and branch likely.
|
|
(macro_build): Handle 'u'.
|
|
(load_register): Handle 64 bit constants.
|
|
(macro): Added M_DABS, removed M_ABSU. Numerous changes to
|
|
support 64 bit constants.
|
|
(mips_ip): Use hex constants in range checks for clarity.
|
|
(md_number_to_chars): Support 8 byte values.
|
|
|
|
Fri Aug 20 16:50:59 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* config/tc-m88k.h: updated copyrights.
|
|
(TC_CONS_RELOC): declare to be RELOC_32.
|
|
|
|
Fri Aug 20 11:16:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_isa): New static variable.
|
|
(md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
|
|
check macros. Set text alignment and GP size here.
|
|
(md_assemble): Don't set text alignment and GP size here.
|
|
(append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
|
|
Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
|
|
a NOP after a branch likely.
|
|
(mips_emit_delays): Don't insert NOPS for load delays if mips_isa
|
|
>= 2.
|
|
(macro): Support r6000 and r4000 macros.
|
|
(mips_ip): Check insn ISA level against mips_isa before using it.
|
|
Added 'x' case for ignored register.
|
|
(md_parse_option): Handle -mipsN and -mcpu=XX.
|
|
|
|
Fri Aug 20 01:26:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-i386.c (md_pseudo_table) [OBJ_ELF]: Handle ".zero".
|
|
|
|
Thu Aug 19 12:15:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (s_local): Function moved and renamed...
|
|
* config/obj-elf.c (obj_elf_local): ...to here.
|
|
* config/tc-sparc.c (md_pseudo_table), config/obj-elf.c
|
|
(obj_pseudo_table): Move handling of ".local".
|
|
|
|
* tc.h (md_parse_option): Don't declare if defined as a macro.
|
|
|
|
* config/tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as
|
|
BFD_RELOC_NONE.
|
|
(md_parse_option): New macro, converted from function.
|
|
* config/tc-i386.c (md_parse_option): Function deleted.
|
|
(comment_chars) [OBJ_ELF]: Include "/".
|
|
(line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
|
|
(md_assemble): Cast 0xe9 to char explicitly, to avoid compiler
|
|
warning.
|
|
(md_assemble, md_estimate_size_before_relax, md_create_long_jump):
|
|
Call reloc for fix_new type, or use correct enumerator, instead of
|
|
always using NO_RELOC.
|
|
(i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
|
|
tests for valid section.
|
|
(md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start
|
|
address.
|
|
(md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
|
|
symbol, compensate for location of reloc.
|
|
(reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define
|
|
to return zero.
|
|
|
|
Wed Aug 18 16:51:29 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-elf.c: Undef NO_RELOC before including aout/aout64.h.
|
|
(obj_elf_weak): New function.
|
|
(obj_pseudo_table): Handle ".weak".
|
|
(obj_elf_section): If section directive includes a string, ignore
|
|
it for now. Accept "progbits" flag.
|
|
(obj_elf_type): Accept `@' before flag name.
|
|
|
|
* write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Get rid of `if(1)'
|
|
condition.
|
|
(fixup_segment) [BFD_ASSEMBLER]: Use bfd_is_com_section, rather
|
|
than checking for bfd_com_section directly.
|
|
(fixup_segment): Simplify range check.
|
|
(fixup_segment) [OBJ_COFF && TC_I960]: Simplify cpp condition
|
|
test.
|
|
|
|
* symbols.h (S_SET_WEAK): Declare.
|
|
* symbols.c (S_SET_WEAK): New function.
|
|
(S_SET_EXTERNAL, S_CLEAR_EXTERNAL): Don't bother with BSF_EXPORT,
|
|
it's not a separate flag any more. Clear BSF_WEAK.
|
|
|
|
* read.c (potable): Treat "string" like "asciz".
|
|
|
|
Wed Aug 18 15:30:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (append_insn): Don't swap branch instructions
|
|
if .set nobopt or .set volatile.
|
|
(gp_reference): .lit8 and .lit4 are accessed via the GP register.
|
|
(macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
|
|
(mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
|
|
* config/obj-ecoff.c: Renamed some variables to avoid shadow
|
|
warnings.
|
|
|
|
Mon Aug 16 14:16:02 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* config/obj-coff.h (S_IS_COMMON): add missing backslash
|
|
|
|
* configure.in (z8k-*-{coff,sim}): use coffbfd for this target
|
|
|
|
Thu Aug 12 11:47:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Suggested by
|
|
davidj@ICSI.Berkeley.EDU (David Johnson): Don't accept symbolic
|
|
names for 'E' and 'G' argument types (coprocessor registers) and
|
|
don't warn if $1 is used on the coprocessor.
|
|
(macro): Handle M_{L,S}WC{0,2,3}_AB correctly.
|
|
|
|
Mon Aug 9 12:09:14 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* read.c (emit_expr): Use BFD_RELOC_16 for 2-byte values.
|
|
* config/tc-sparc.c (md_apply_fix, tc_gen_reloc): Handle
|
|
BFD_RELOC_16.
|
|
* config/tc-sparc.h (WORKING_DOT_WORD): Define.
|
|
|
|
Mon Aug 9 13:36:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (merge_data_into_text): Define only if BFD_ASSEMBLER is
|
|
defined or BFD is not.
|
|
(relax_and_size_all_segments): Declare local variable fragP.
|
|
|
|
Fri Aug 6 15:22:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_32): Fill in
|
|
bytes with real values, not zeros.
|
|
|
|
Fri Aug 6 10:57:59 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* configure.in (mips-*-riscos*, mips-*-sysv*): New (untested)
|
|
targets, using ecoff and mips-big.
|
|
|
|
* config/tc-mips.c (mips_ip): From davidj@ICSI.Berkeley.EDU (David
|
|
Johnson): Added case for 'C' for coprocessor instruction codes.
|
|
|
|
Thu Aug 5 13:08:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): Fill in
|
|
bytes with real values, not zeros.
|
|
(md_pseudo_table): Call cons for .uaxword.
|
|
|
|
* config/obj-elf.c (obj_pseudo_table): Handle ".8byte".
|
|
|
|
* read.c (emit_expr): Use BFD_RELOC_64 for 8-byte expressions.
|
|
|
|
* write.c (write_object_file): Test DEBUG_SYMS instead of DEBUG
|
|
for verifying symbol chain.
|
|
(merge_data_into_text, relax_and_size_all_segments): New
|
|
functions, split out from write_object_file.
|
|
|
|
Tue Aug 3 15:43:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_stab_generic, in disabled code): If
|
|
debug section is new, allocate an extra 12 bytes at its start. If
|
|
".stabs" type is N_SO, fill in filename symbol field of that first
|
|
entry. Return early if "goof", to simplify later code slightly.
|
|
(adjust_stab_sections): New function.
|
|
(elf_frob_file): Apply adjust_stab_sections to each section.
|
|
|
|
* config/obj-elf.c (obj_elf_section, obj_elf_previous): No longer
|
|
static.
|
|
* config/obj-elf.h (obj_elf_section, obj_elf_previous): Declare.
|
|
* config/tc-sparc.c (md_pseudo_table): Call them for "pushsection"
|
|
and "popsection", and call cons for "uaword" and "uahalf".
|
|
|
|
* config/obj-elf.c (obj_elf_version): Use English in error
|
|
messages.
|
|
|
|
Tue Aug 3 11:29:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.c: Updated for BFD ECOFF changes. Now gets the
|
|
swapping routines and external structure sizes via the
|
|
ecoff_backend information. No longer includes coff/mips.h.
|
|
|
|
Mon Aug 2 17:35:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (get_tag): Save tag name in permanent memory
|
|
and in hash_ptr->string.
|
|
|
|
* app.c (do_scrub_next_char): Reset state to 0 after .appline if
|
|
file name is not seen.
|
|
|
|
Mon Aug 2 11:51:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case,
|
|
parallel to BFD_RELOC_32.
|
|
(tc_gen_reloc): Accept BFD_RELOC_64.
|
|
|
|
Thu Jul 29 22:21:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* write.c: Don't use short int in a prototype.
|
|
|
|
* expr.c (operand): Make return value simply depend on contents of
|
|
returned expression.
|
|
|
|
Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* configure.in: sparc*-aout and sparc*-vxworks are BFD assemblers
|
|
|
|
Thu Jul 29 18:38:37 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* config/ho-sunos.h: remove some old function decls that conflict
|
|
w/ ANSI, and which weren't needed anyway
|
|
|
|
Wed Jul 28 16:34:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-elf.h (obj_frob_symbol): Renamed from tc_frob_symbol,
|
|
and disabled since it breaks Ian's new symbol-value code.
|
|
|
|
* expr.c (integer_constant): Accept more digits if BFD64.
|
|
|
|
Wed Jul 28 11:30:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): If we have a normal constant when we
|
|
expect a bignum, turn it into a bignum. Output extra zeroes
|
|
before a short bignum, rather than after.
|
|
|
|
Tue Jul 27 15:54:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* symbols.c (symbol_new): Conditionalize verify_symbol_chain call
|
|
on DEBUG_SYMS, not DEBUG.
|
|
(symbol_remove): Likewise.
|
|
(symbol_insert): Likewise.
|
|
|
|
Tue Jul 27 08:45:05 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_optimize): New static variable.
|
|
(append_insn): If mips_optimize == 0, always insert NOP
|
|
instructions. If mips_optimize < 2, don't swap branches.
|
|
(md_parse_option): If -Ox or -gx, set mips_optimize accordingly.
|
|
|
|
Mon Jul 26 18:02:43 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* Makefile.in (clean): if testsuite does not exist, then skip it.
|
|
|
|
Fri Jul 23 14:13:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-mips.c (prev_insn_unreordered,
|
|
prev_prev_insn_unreordered): New static variables.
|
|
(append_insn): Don't swap branch instruction if
|
|
prev_prev_insn_unreordered (see comment).
|
|
(mips_no_prev_insn): Clear the unreordered variables.
|
|
(s_mipsset): When turning on reordering, set the unreordered
|
|
variables.
|
|
|
|
Fri Jul 23 13:09:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_section): Sections ".init" and ".fini"
|
|
are also magic, and have special default flag settings.
|
|
(obj_elf_frob_symbol): Since the return value from this function
|
|
isn't used, don't bother calling obj_elf_write_symbol_p, since it
|
|
doesn't accomplish anything else.
|
|
|
|
* config/tc-sparc.c (md_section_align): Round up section size only
|
|
for a.out format.
|
|
|
|
* symbols.c: Don't define DEBUG by default.
|
|
|
|
Thu Jul 22 12:09:41 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* write.c (fix_new_exp): Handle a O_uminus expression.
|
|
|
|
* expr.c (expr): Don't let absolute_section override
|
|
undefined_section for the return value.
|
|
|
|
* read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find a
|
|
pseudo-op with a poc_handler field of NULL, ignore it and treat it
|
|
as an instruction instead.
|
|
* config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL
|
|
poc_handler field.
|
|
|
|
* config/tc-h8500.c (md_begin): Use a local variable when
|
|
initializing md_relax_table to avoid warnings about modifying a
|
|
supposedly const data structure.
|
|
|
|
Thu Jul 22 10:58:51 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
|
|
|
|
* config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
|
|
is defined.
|
|
|
|
Wed Jul 21 17:32:02 1993 Fred Fish (fnf@deneb.cygnus.com)
|
|
|
|
* configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.
|
|
* configure.in (case ${generic_target}): Add i[34]86-*-sysv4*
|
|
case to set obj_format=elf. Must go before i386-*-sysv* case that
|
|
sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and
|
|
*-*-solaris case, and move to before *-sysv* case that wants to
|
|
set obj_format to coff.
|
|
* config/tc-i386.c (i386_operand): Change all 'exp.X_op' to
|
|
'exp->X_op'.
|
|
* config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for
|
|
BFD_ASSEMBLER case.
|
|
|
|
Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-aout.c: Include aout/aout64.h.
|
|
(obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor
|
|
symbol, so that BFD doesn't tamper with the type.
|
|
|
|
* read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look
|
|
up opcodes as pseudo-ops even if they don't start with '.'.
|
|
* config/tc-m88k.h (NO_PSEUDO_DOT): Define.
|
|
* config/tc-m88k.c (md_assemble): Removed special pseudo-op
|
|
handling.
|
|
(md_apply_fix): Set fx_offset to the upper 16 bits of the reloc.
|
|
Output the low 16 bits for RELOC_HI16, not the high 16 bits.
|
|
* config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the
|
|
r_offset field of the reloc to the fixup offset.
|
|
(fixup_segments): If TC_M88K, don't warn about fixup overflows.
|
|
* doc/as.texinfo: Minor updates.
|
|
|
|
Tue Jul 20 19:28:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Extensive changes to permit symbols to contain any expression
|
|
type and to delay the computation of the expression until the
|
|
value is actually needed. This permits setting symbols to values
|
|
calculated based on object code size. Expressions were changed to
|
|
no longer be in a section, to stop the overloading of segment and
|
|
expression type that previously occurred.
|
|
|
|
* as.c (big_section, pass1_section, diff_section, absent_section):
|
|
Removed.
|
|
(expr_section): Added (used for dummy symbols which hold
|
|
intermediate expression values).
|
|
(perform_an_assembly_pass): Create expr_section, do not create the
|
|
sections now removed.
|
|
* as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and
|
|
SEG_DIFFERENCE. Added SEG_EXPR.
|
|
(SEG_NORMAL): Corresponding changes.
|
|
* subsegs.c (seg_name, subsegs_begin): Changed accordingly.
|
|
* write.c (write_object_file): Ditto.
|
|
* config/obj-aout.c (seg_N_TYPE): Ditto.
|
|
* config/obj-bout.c (seg_N_TYPE): Ditto.
|
|
* config/obj-coff.c (seg_N_TYPE): Ditto.
|
|
* config/obj-coffbfd.c (seg_N_TYPE): Ditto.
|
|
* config/obj-vms.c (seg_N_TYPE): Ditto.
|
|
|
|
* expr.h (operatorT): Moved in from expr.c, added some values.
|
|
(expressionS): Added X_op field, removed X_seg field; renamed
|
|
X_subtract_symbol to X_op_symbol.
|
|
* expr.c: Extensive changes to assign expression types rather than
|
|
sections and to simplify the parsing.
|
|
* write.c (fix_new_internal): New static function.
|
|
(fix_new): Removed sub_symbol argument.
|
|
(fix_new_exp): New function, takes expression argument.
|
|
* write.h: Prototype changes for fix_new and fix_new_exp.
|
|
* cond.c (s_if): Changed accordingly.
|
|
* read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons,
|
|
parse_repeat_cons, get_segmented_expression,
|
|
get_known_segmented_expression, get_absolute_expression): Ditto.
|
|
* symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE):
|
|
Ditto.
|
|
* write.c (write_object_file): Ditto.
|
|
* config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto.
|
|
* config/obj-coffbfd.c (obj_coff_def, obj_coff_val,
|
|
obj_coff_endef, yank_symbols): Ditto.
|
|
* config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto.
|
|
* config/tc-a29k.c (md_assemble, parse_operand, machine_ip,
|
|
print_insn, md_operand): Ditto.
|
|
* config/tc-h8300.c (parse_exp, colonmod24, check_operand,
|
|
do_a_fix_imm, build_bytes): Ditto.
|
|
* config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist,
|
|
get_specific, check, insert, md_convert_frag): Ditto.
|
|
* config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa,
|
|
md_assemble, pa_ip, getExpression, getAbsoluteExpression,
|
|
evaluateAbsolute, pa_build_unwind_subspace, pa_entry,
|
|
process_exit): Ditto.
|
|
* config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative,
|
|
is_complex): Ditto.
|
|
* config/tc-i386.c (pe, md_assemble, i386_operand,
|
|
md_estimate_size_before_relax, md_create_long_jump): Ditto.
|
|
* config/tc-i860.c (md_assemble, getExpression, print_insn):
|
|
Ditto.
|
|
* config/tc-i960.c (parse_expr, subs, segs, md_convert_frag,
|
|
get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc,
|
|
i960_handle_align): Ditto.
|
|
* config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op,
|
|
subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1,
|
|
md_estimate_size_before_relax, md_create_long_jump, get_num):
|
|
Ditto.
|
|
* config/tc-m88k.c (md_assemble, get_imm16, get_pcr,
|
|
md_create_short_jump, md_create_long_jump): Ditto.
|
|
* config/tc-mips.c (md_assemble, append_insn, gp_reference,
|
|
macro_build, macro, my_getExpression): Ditto. Also removed
|
|
get_optional_absolute_expression; just use get_absolute_expression
|
|
instead.
|
|
* config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif,
|
|
fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto.
|
|
* config/tc-ns32k.h (fix_new_ns32k prototype): Ditto.
|
|
* config/tc-sh.c (parse_exp, check, insert, md_convert_frag):
|
|
Ditto.
|
|
* config/tc-sparc.c (md_assemble, sparc_ip, getExpression,
|
|
print_insn): Ditto.
|
|
* config/tc-tahoe.c (struct top, md_estimate_size_before_relax,
|
|
tip_op, md_assemble): Ditto.
|
|
* config/tc-vax.c (seg_of_operand, md_assemble,
|
|
md_estimate_size_before_relax, md_create_long_jump): Ditto.
|
|
* config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
|
|
|
|
Tue Jul 20 12:17:16 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
|
|
|
* configure.in: i386-lynx is the same as i386-coff
|
|
|
|
Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_previous): New function.
|
|
(previous_section, previous_subsection): New vars.
|
|
(obj_elf_section): Save current place in case DWARF code wants us
|
|
to pop back to it. Handle unquoted section name as well as quoted
|
|
section name. Don't crash on invalid strings.
|
|
(obj_pseudo_table): Handle new pseudos "previous", "2byte", and
|
|
"4byte".
|
|
|
|
* config/obj-elf.h: Don't include struc-symbol.h.
|
|
(obj_elf_frob_symbol): Declare arg as struct symbol *.
|
|
|
|
* tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Local labels can start with
|
|
"L" or "_.L_".
|
|
|
|
* write.c (write_relocs): New function, split off from
|
|
write_contents. Use memset instead of bzero.
|
|
(write_object_file): Apply write_relocs to each section before
|
|
applying write_contents.
|
|
|
|
* read.c (read_begin): Call obstack_begin with values closer to 1K
|
|
multiples.
|
|
(read_a_source_file, big_cons, float_cons): Use memcpy instead of
|
|
bcopy.
|
|
|
|
Mon Jul 19 14:30:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
|
|
calculating opP->isiz; this permits the expression size to be
|
|
determined as well, later on.
|
|
|
|
* expr.c (clean_up_expression): Don't cancel the subtraction of
|
|
undefined symbols.
|
|
|
|
* read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R,
|
|
switch to text section rather than data section.
|
|
|
|
Mon Jul 19 12:35:39 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip, case AINDX): Add 6 to operand
|
|
expression (to take the pc-rel instruction itself into account)
|
|
before using the expression, instead of after.
|
|
|
|
Fri Jul 16 08:56:04 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* read.c (float_cons): Simplified parsing logic. If
|
|
REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count.
|
|
|
|
* symbols.c (colon): Rather than a special case for TC_HPPA,
|
|
use new macro tc_frob_label.
|
|
* config/tc-hppa.h (tc_frob_label): Define.
|
|
|
|
* config/tc-mips.c: Many changes to support simple assembler
|
|
optimization.
|
|
(insn_label, prev_insn, prev_prev_insn, dummy_opcode,
|
|
prev_insn_valid, prev_insn_frag, prev_insn_where,
|
|
prev_insn_fixp, prev_insn_is_delay_slot): New static
|
|
variables.
|
|
(insn_uses_reg, mips_no_prev_insn, mips_emit_delays,
|
|
mips_align, s_stringer, s_mips_space): New static functions.
|
|
(mips_define_label): New global function.
|
|
(md_pseudo_table): For "ascii", "asciz", "asciiz", call
|
|
s_stringer. Changed argument to float_cons from 0 or 1 to 'f'
|
|
or 'd'. For "space" call s_mips_space.
|
|
(md_begin): Call mips_no_prev_insn.
|
|
(append_insn): Only insert necessary NOP instructions.
|
|
(macro): Call mips_emit_delays before setting mips_noreorder.
|
|
Increment and decrement mips_noreorder rather than using
|
|
save_reorder_condition. Don't bother to use noreorder in
|
|
M_L_DOB and M_L_DAB, since append_insn will not insert a NOP.
|
|
(md_atof): Handle floating point numbers correctly for both
|
|
big and little endian targets.
|
|
(s_align, s_cons): Call mips_align rather than frag_align.
|
|
(s_change_seg, s_cons): Call mips_emit_delays.
|
|
(s_float_cons): Let float_cons do the work.
|
|
(s_mipsset): Call mips_emit_delays when setting noreorder.
|
|
* config/tc-mips.h (tc_frob_label): Define to be
|
|
mips_define_label.
|
|
|
|
* config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,
|
|
ecoff_frob_files): Consistently use S_GET_VALUE rather than
|
|
bfd_asymbol_value. Warn if taking difference of symbols in
|
|
different segments.
|
|
|
|
Thu Jul 15 11:51:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,
|
|
with a warning.
|
|
|
|
* config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjust
|
|
by md_pcrel_from if we are relocating against a symbol (we still
|
|
need md_pcrel_from for a PC relative relocation within the same
|
|
file).
|
|
* config/tc-m88k.c (md_pcrel_from): Corrected return value.
|
|
(omagic): Removed unused variable.
|
|
|
|
* Preliminary support for m88k-coff.
|
|
* configure.in (m88k-*-coff*): New target. Use coffbfd and
|
|
m88kcoff.
|
|
* config/m88kcoff.mt: New file.
|
|
* read.c (lex_type): New macro LEX_AT to set lex type of '@'.
|
|
(pseudo_set): Handle difference of symbols in different fragments
|
|
by saving the entire expression as the value of the symbol.
|
|
* symbols.c (resolve_symbol_value): Resolve difference
|
|
expressions.
|
|
* config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
|
|
"sdef" as a synonym for "def".
|
|
* config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
|
|
TARGET_FORMAT.
|
|
(S_IS_LOCAL): Any symbol which includes \001 in the name is local.
|
|
* config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
|
|
m88k port up to date, and to add COFF support.
|
|
|
|
Wed Jul 14 15:09:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
|
|
|
* Removed sy_forward and replaced it with an undefined expression
|
|
as the value of a symbol.
|
|
* struc-symbol.h (struct symbol): Removed sy_forward field. Added
|
|
sy_resolved and sy_resolving single bit fields.
|
|
* symbols.c (symbol_new): Don't initialize sy_forward field.
|
|
(resolve_symbol_value): New function to adjust symbol value by
|
|
fragment address, using recursion to resolve forward symbols.
|
|
* symbols.h: Added prototype for new function.
|
|
* read.c (pseudo_set): Set symbolP->sy_value to an undefined
|
|
expression rather than setting symbolP->sy_forward.
|
|
* write.c (write_object_file): Use resolve_symbol_value on
|
|
symbols, keeping the common case (the old behaviour) inline.
|
|
* config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward
|
|
handling (subsumed by write.c change).
|
|
* config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set
|
|
sy_value rather than sy_forward.
|
|
* config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check
|
|
expression segment rather than sy_forward.
|
|
(yank_symbols): Use resolve_symbol_value.
|
|
(crawl_symbols): Removed extra pass over symbols.
|
|
* config/obj-aout.c, config/obj-bout.c, config/obj-coff.c,
|
|
config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over
|
|
symbols which handled sy_forward; use resolve_symbol_value
|
|
instead.
|
|
* config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol):
|
|
Define.
|
|
* config/obj-elf.c (obj_elf_stab_generic): Check expression
|
|
segment rather than sy_forward.
|
|
* config/obj-vms.c (VMS_Check_For_Main): Don't initialize
|
|
sy_forward; do initialize sy_resolved and sy_resolving.
|
|
* config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
|
|
|
|
* Changes to keep a full expression as the value of a symbol, not
|
|
just a longword:
|
|
* struc-symbol.h: New field sy_value.
|
|
* as.h: Include expr.h before struc-symbol.h.
|
|
* expr.h: Use struct symbol rather than symbolS.
|
|
* symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value
|
|
of sy_value field; compile unconditionally, not just if
|
|
BFD_ASSEMBLER.
|
|
* symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally.
|
|
* write.c (write_object_file): Set BFD symbol value to gas symbol
|
|
value.
|
|
* config/obj-aout.h, config/obj-bout.h, config/obj-coff.h,
|
|
config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h
|
|
(S_GET_VALUE, S_SET_VALUE): Removed macro definitions.
|
|
* config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed.
|
|
* config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use
|
|
S_GET_VALUE rather than ost_entry.n_value.
|
|
* config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c
|
|
(obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars),
|
|
config/obj-coffbfd.c (symbol_to_chars): Get value to write out
|
|
using S_GET_VALUE--don't assume it is already set.
|
|
* config/obj-ieee.c (do_symbols): Set BFD symbol value to gas
|
|
symbol value.
|
|
* config/obj-vms.c (various): Don't assign directly to
|
|
S_GET_VALUE; use S_SET_VALUE instead.
|
|
|
|
Wed Jul 14 09:35:23 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* configure.in: Make sparc64-*-aout* use bfd gas.
|
|
|
|
* configure.in: Recognize h8300h.
|
|
|
|
Tue Jul 13 12:09:44 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
* config/tc-h8500.c (line_comment_chars): Add hash.
|
|
(parse_exp, skip_colonthing, build_bytes): Add support for
|
|
R_H8500_HIGH16 relocation type.
|
|
|
|
Mon Jul 12 11:15:34 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
|
|
|
* config/obj-elf.c (obj_elf_section): Allow `@' to introduce an
|
|
attribute name. Handle `execinstr' attribute.
|
|
|
|
Mon Jul 12 07:22:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
|
|
there is another alternative for the instruction.
|
|
|
|
Fri Jul 9 17:31:34 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
|
|
|
* doc/as.texinfo: updates for H8/300H
|
|
|
|
Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)
|
|
|
|
* config/tc-i960.c (md_create_short_jump, md_create_long_jump,
|
|
md_number_to_chars, md_section_align): Adjusted to use valueT,
|
|
addressT, to match tc.h.
|
|
|
|
Thu Jul 8 14:15:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (s_common): Revamp to handle both syntaxes,
|
|
independent of format.
|
|
|
|
Thu Jul 8 07:25:25 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-h8300.h (TC_CONS_RELOC): Use R_RELLONG if h8/300h.
|
|
|
|
Wed Jul 7 18:11:07 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
|
|
|
|
* configure.in: define CROSS=-DCROSS_COMPILE if it is a cross
|
|
build; also recognize h8300-*-coff
|
|
|
|
Wed Jul 7 10:21:24 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* symbols.c (fb_label_instance, fb_label_instance_inc): Don't dump
|
|
core just because somebody uses a label before it is defined.
|
|
|
|
* config/mips-opcode.h: Moved to opcode/mips.h.
|
|
* config/tc-mips.c: Include opcode/mips.h rather than
|
|
mips-opcode.h.
|
|
(append_insn): An extra NOP is only needed after instructions
|
|
which set HI or LO, not after instructions which read it.
|
|
(macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments.
|
|
(macro): cfc1 and ctc1 now take "t,G" rather than "t,d".
|
|
* config/tc-mips.h (struct mips_opcode): Don't define.
|
|
* config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS):
|
|
Set to $(srcdir)/../include/opcode/mips.h.
|
|
|
|
Get the MIPS assembler up to speed with other gas changes:
|
|
|
|
* config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol):
|
|
Removed; don't change the symbol value.
|
|
(ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use
|
|
bfd_asymbol_value rather than S_GET_VALUE to include section
|
|
vma in symbol value.
|
|
(ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF
|
|
doesn't output them. Set the vma of sections.
|
|
* config/obj-ecoff.h: Don't define obj_frob_symbol.
|
|
* config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no
|
|
longer necessary.
|
|
(various): use valueT rather than long.
|
|
|
|
Wed Jul 7 08:33:30 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.h (ENV64): Define for v9.
|
|
|
|
* config/tc-sparc.c (s_xword): For numbers, call big_cons.
|
|
(sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64
|
|
relocation types.
|
|
(md_number_to_chars): Handle 8-byte value.
|
|
|
|
* config/obj-elf.h (elf_symbol): For v9, use 64-bit symbol type.
|
|
|
|
* as.h (valueT): Typedef moved here.
|
|
* struc-symbol.h (valueT): ...from here.
|
|
* write.c (write_object_file): Locals from_addr, to_addr,
|
|
table_addr are now addressT. Supply prototype for bfd_alloc for
|
|
now.
|
|
(fixup_segment): Local add_number is now valueT. Correct some
|
|
range-checking bugs.
|
|
(relax_align): Type `int' should be sufficient for the exponent.
|
|
(fix_new): Argument offset is type offsetT. Locals size and
|
|
newsize are type valueT.
|
|
* write.h (struct fix): Fields fx_offset and fx_addnumber are now
|
|
type valueT.
|
|
(fix_new): Fix prototype.
|
|
* symbols.c (symbol_new): Symbol value is type valueT.
|
|
(S_SET_VALUE, S_GET_VALUE): Likewise.
|
|
(S_IS_*): Specify int return type explicitly.
|
|
* symbols.h (symbol_new, S_GET_VALUE, S_SET_VALUE): Fixed
|
|
prototypes.
|
|
* read.c (s_comm): Values read are type valueT.
|
|
* expr.h (expressionS): Field X_add_number is an offsetT.
|
|
* tc.h (md_create_long_jump, md_create_short_jump,
|
|
md_section_align): Addresses are now type addressT.
|
|
(md_number_to_chars, md_apply_fix): Pass value as valueT.
|
|
* config/tc-i386.c (md_create_short_jump, md_create_long_jump,
|
|
md_number_to_chars, md_section_align): Adjusted.
|
|
* config/tc-sparc.c (sparc_ip): Initialize `len' variable to make
|
|
gcc shut up.
|
|
(md_create_short_jump, md_create_long_jump, md_number_to_chars,
|
|
md_section_align): Adjusted.
|
|
|
|
* config/tc-sparc.c (s_reserve): Permit use for other than a.out
|
|
format.
|
|
(s_common): Handle Solaris-2 version.
|
|
|
|
* config/ho-generic.h (free): Returns void if __STDC__.
|
|
|
|
* config/obj-elf.h (obj_elf_frob_symbol, elf_frob_file,
|
|
elf_file_symbol): Declare.
|
|
|
|
* expr.c (floating_constant, integer_constant): Now return void.
|
|
|
|
Thu Jul 1 12:13:43 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* configure.in: Match on sparc*-fujitsu-none rather than
|
|
sparclite*-fujitsu-none.
|
|
|
|
Wed Jun 30 11:12:02 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* read.c (cons): Conditionalize parsing of expression. Move
|
|
putting value into object file into separate function. Separate
|
|
out MRI and WANT_BITFIELDS cases into separate functions.
|
|
(emit_expr): New function to write data into object file.
|
|
Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on
|
|
processor types.
|
|
(parse_bitfield_cons): New function to parse bitfield expressions
|
|
as used by i960 assemblers. Only compiled if
|
|
BITFIELD_CONS_EXPRESSIONS is defined.
|
|
(parse_mri_cons): New function to parse MRI style strings. Only
|
|
compiled if MRI is defined.
|
|
(parse_repeat_cons): New function to parse repeat counts. Only
|
|
compiled if REPEAT_CONS_EXPRESSIONS is defined.
|
|
* read.h (emit_expr): Added declaration of new function.
|
|
* config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32.
|
|
* config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD.
|
|
* config/tc-hppa.c (parse_cons_expression_hppa): New function to
|
|
parse a HPPA expression, rather than special case in cons
|
|
function.
|
|
(cons_fix_new_hppa): New function to emit an HPPA fixup, rather
|
|
than special case in emit_expr function.
|
|
* config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW):
|
|
Define to use new functions from tc-hppa.c.
|
|
* config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define.
|
|
(WANT_BITFIELDS): Removed; now obsolete.
|
|
* config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define.
|
|
* config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an
|
|
NS32K fixup, rather than special case in emit_expr function.
|
|
* config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be
|
|
cons_fix_new_ns32k. Also use PARAMS rather than checking
|
|
__STDC__.
|
|
* config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32.
|
|
|
|
* write.c (relax_and_size_seg, adjust_reloc_syms, write_contents):
|
|
Don't core dump if gas has no information about a section.
|
|
|
|
Wed Jun 30 06:21:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (md_begin): If sparcv9 is defined, reset
|
|
current_architecture to v9 automatically.
|
|
|
|
* config/tc-sparc.h (TARGET_FORMAT): Use elf64-sparc for v9.
|
|
|
|
* config/tc-sparc64.h, config/tc-sparc64.c: New files.
|
|
* configure.in: Use sparc64 cpu files for v9, and default to elf
|
|
format.
|
|
|
|
* write.c (relax_and_size_seg): Always fully process a section.
|
|
Section size is last frag's (vm)address plus its size. If no
|
|
relocations are present, force SEC_RELOC flag clear.
|
|
(dump_section_relocs): New debugging routine.
|
|
(adjust_reloc_syms): New routine, broken out from write_contents.
|
|
Don't adjust relocs that are already relative to section symbol.
|
|
Look for obj_fix_adjustable macro to know what else to skip,
|
|
instead of obj_write_symbol. Look for section symbol stored in
|
|
section information.
|
|
(write_object_file): Map adjust_reloc_syms over all sections.
|
|
(write_contents): Clear SEC_RELOC flag if no relocations are
|
|
found.
|
|
|
|
* as.h (__PTR_TO_INT, __INT_TO_PTR): New versions for Saber, to
|
|
keep it quiet.
|
|
|
|
* write.c (remove_subsegs): Don't define for BFD_ASSEMBLER.
|
|
|
|
Fri Jun 25 14:42:53 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
|
|
|
* Makefile.in (all, dvi, info, install-info, clean-info): do not
|
|
echo recursion lines.
|
|
(install-info, clean-info): collapse into the dvi and info rule.
|
|
|
|
Fri Jun 25 10:47:24 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Remove support for %d/%q fp regs.
|
|
All fp regs are now specified as %f.
|
|
(priv_reg_table): fpq -> fq.
|
|
|
|
Fri Jun 25 03:43:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
|
|
|
* as.h (strstr): Disable declaration for now.
|
|
(fprint_value, sprint_value): Declare.
|
|
|
|
* subsegs.c (subseg_new_rest): Use memset to clear new frag.
|
|
(subseg_new) [BFD_ASSEMBLER]: Initialize all seginfo fields.
|
|
|
|
* expr.c (expr_part): Made sanity checks a.out-specific.
|
|
(expr): Disabled sanity checks.
|
|
|
|
* subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Add field for
|
|
section symbol.
|
|
* subsegs.c (subseg_change): Initialize section symbol pointer
|
|
when setting up a new section.
|
|
|
|
* symbols.c (symbol_new) [BFD_ASSEMBLER]: Point BFD symbol's udata
|
|
field back at gas symbol structure.
|
|
|
|
* symbols.c (colon): Cast obstack_next_free value to char* before
|
|
doing arithmetic on it.
|
|
* subsegs.c (subseg_new_rest): Likewise.
|
|
* as.h (frag_now_fix): Likewise.
|
|
|
|
* config/obj-elf.c (elf_file_symbol): Use subseg_new instead of
|
|
calling bfd_make_section_old_way directly, and call subseg_set
|
|
instead of subseg_change. Now returns void.
|
|
(obj_elf_write_symbol): Only check local symbols for now.
|
|
(elf_stab_symbol): Now static and void, and disabled until it
|
|
works completely.
|
|
(obj_elf_size): For expression values, fail silently for now.
|
|
(obj_symbol_new_hook): Do nothing.
|
|
|
|
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22
|
|
relocation.
|
|
(s_local) [OBJ_ELF]: New function.
|
|
(md_pseudo_table) [OBJ_ELF]: Call it for "local".
|
|
(s_common): Rearrange to handle Solaris .common pseudo, which may
|
|
sometimes use bss space instead of common.
|
|
* config/obj-elf.h (TARGET_SYMBOL_FIELDS): Add new `local' field.
|
|
|
|
Thu Jun 24 16:33:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* configure.in: set host config to hpux for hppa*-hp-hpux
|
|
|
|
Thu Jun 24 13:35:06 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
|
|
|
* app.c (app_pop, app_push): Fix bug reported by Chris Arthur.
|
|
|
|
Tue Jun 22 01:04:23 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
|
|
|
* subsegs.c (subseg_new): Don't special-case a.out -R flag here.
|
|
* config/obj-aout.c (s_sect): Do it here.
|
|
|
|
* as.h (BAD_CASE): Don't make some lame compilers think we want
|
|
substitution inside strings.
|
|
|
|
* as.c (print_version_id): New function, split off from main.
|
|
(main): Call it.
|
|
* config/tc-sparc.c (md_parse_option) [OBJ_ELF]: Print version id
|
|
for -V. Ignore -Q and -s options for now.
|
|
|
|
Mon Jun 21 17:37:59 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* Makefile.in: make installation & builds work again for crosses
|
|
|
|
Sun Jun 20 18:18:26 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
|
|
|
|
* listing.c (list_symbol_table): Rewrite to print wide (>32 bits)
|
|
symbol values correctly.
|
|
|
|
* write.c (write_object_file): Deleted unused variables.
|
|
(fixup_segment): Use sprint_value.
|
|
|
|
* messages.c (sprint_value, fprint_value): New routines.
|
|
|
|
* config/obj-elf.c (elf_stab_symbol): Now returns void.
|
|
(obj_elf_stab_generic): Fix typo in logic.
|
|
|
|
* Makefile.in (INCLUDES): Look in ../bfd for bfd.h.
|
|
|
|
* as.h (addressT, offsetT): New types, using BFD types if
|
|
available.
|
|
(relax_addressT, struct frag): Use them.
|
|
* struc-symbol.h (valueT, struct broken_word): Likewise.
|
|
|
|
* as.h (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
|
|
* subsegs.c (subseg_new) [BFD_ASSEMBLER]: Name argument is const.
|
|
|
|
Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
|
|
|
|
* Makefile.in: canonicalize install.sh; for use within
|
|
this directory (and subdirs)
|
|
|
|
Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)
|
|
|
|
* m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly
|
|
specified, should have both S1 and S2 fields identical
|
|
If only finding the problem was as fast as fixing the bug !!!!
|
|
|
|
Tue Jun 15 16:01:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (write_contents): Do write out non-loadable sections.
|
|
Debug sections can fall in this category.
|
|
|
|
* read.c (s_app_file): Call elf_file_symbol for ELF files.
|
|
* config/obj-elf.c (elf_file_symbol): New function.
|
|
|
|
* config/obj-elf.c (elf_stab_symbol_string): Renamed from pa_...,
|
|
added argument to specify section base name.
|
|
(obj_elf_stab_generic): Renamed from ..._stab. New argument
|
|
specifies section base name.
|
|
(obj_elf_stab): New function, calls obj_elf_stab_generic with
|
|
".stab" as section base name.
|
|
(obj_elf_xstab): New function, calls obj_elf_stab_generic.
|
|
(obj_elf_type): Handle "object". Use bitwise-or to merge in
|
|
symbol flags rather than simply replacing, so global/local flags
|
|
are preserved.
|
|
(obj_elf_ident): Rewrite.
|
|
|
|
Tue Jun 15 17:03:25 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* Makefile.in: remove parentdir support; use INSTALL_XFORM
|
|
|
|
Wed Jun 9 11:26:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-i386.c (md_pseudo_table): .align uses a power of two
|
|
for any a.out target, not just Linux and 386BSD.
|
|
* config/tc-i386.h (DOT_LABEL_PREFIX): Do not define for any a.out
|
|
target.
|
|
|
|
Mon Jun 7 13:33:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m88k.c: Don't include flonum.h, md.h, m88k.h. They
|
|
don't exist or duplicate other inclusions.
|
|
|
|
* config/tc-vax.h (NO_RELOC): Define.
|
|
|
|
Mon Jun 7 09:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Fix parsing of asi number.
|
|
Fix error message.
|
|
|
|
Sat Jun 5 19:32:52 1993 Torbjorn Granlund (tege@nada.kth.se)
|
|
|
|
* gas/config/m88k-opcode.h (m88k_opcodes): Add 88110 instructions.
|
|
* gas/config/tc-m88k.c (get_reg): New arg reg_prefix. Compare first
|
|
char to reg_prefix instead of to 'r'.
|
|
(calcop): Change calls to get_reg.
|
|
(calcop): Handle new case 'x' to set reg_prefix.
|
|
(calcop): Set reg_prefix to 'r' after each call to get_reg.
|
|
(cmpslot): Add 88110 conditions.
|
|
|
|
* gas/config/m88k-opcode.h: Swap cases for "rot" for consistency.
|
|
|
|
* gas/config/tc-m88k.c (get_bf): Always restore input_line_pointer
|
|
before returning.
|
|
|
|
* gas/config/m88k-opcode.h (m88k_opcodes): Make equal mnemonics
|
|
adjacent; mov.s and mov.d swapped.
|
|
(m88k_opcodes): Fix typo `r2' -> `2'.
|
|
|
|
Fri Jun 4 15:59:31 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
* config/h8300.c: Support for H8/300-H opcodes.
|
|
|
|
* config/obj-coffbfd.c (w_strings): String table length is 4
|
|
bytes, no matter what the host int size is.
|
|
|
|
* configure.in (alpha-*-osf*): New.
|
|
|
|
Fri Jun 4 07:51:18 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* configure.in (mips-*-ecoffl*): New target; use ecoff and
|
|
mips-lit.
|
|
(mips-*-ecoff*): Added trailing '*'.
|
|
|
|
* config/obj-ecoff.c (ecoff_build_procs): Force the adr of the
|
|
first FDR in a file to be zero.
|
|
|
|
Thu Jun 3 14:09:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* Makefile.in (VERSION): Jump to 2.1.4.
|
|
|
|
* config/ho-hppabsd.h: New file, from Peter Hoogenboom.
|
|
|
|
* config/tc-mips.c (md_assemble): Call bfd_set_gp_size only for
|
|
ECOFF format.
|
|
|
|
Tue Jun 1 15:21:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (md_assemble): The 68040 cpu doesn't want a
|
|
separate '851 mmu.
|
|
|
|
* config/obj-elf.c, config/obj-elf.h: Update for new type, macro,
|
|
and routine names. Assuming 32 bits for now.
|
|
|
|
* config/obj-elf.c (elf_frob_file): Look for macro
|
|
elf_tc_final_processing_hook, instead of assuming a function
|
|
always exists.
|
|
* config/tc-hppa.c (elf_hppa_final_processing_hook): Renamed from
|
|
tc_final_processing_hook.
|
|
* config/tc-hppa.h (elf_tc_final_processing_hook): Use it.
|
|
|
|
* config/tc-hppa.h (elf_tc_symbol, elf_tc_make_sections): Macros
|
|
moved here from obj-elf.h.
|
|
* config/obj-elf.h: Don't include CPU-specific header files.
|
|
|
|
Sun May 30 16:49:37 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu)
|
|
|
|
* configure.in: configurations should match on 'hppa*' not 'hppa'.
|
|
|
|
* read.c: Add support for HPPA assembly language syntax (denoted
|
|
with '#ifdef TC_HPPA').
|
|
|
|
* symbols.c: Add support for HPPA assembly language syntax (denoted
|
|
with '#ifdef TC_HPPA').
|
|
|
|
* write.c (write_contents): Add support for HPPA-style
|
|
relocations.
|
|
|
|
* config/obj-elf.c: Stab symbols weren't written properly.
|
|
(obj_elf_version):
|
|
(obj_elf_desc):
|
|
(obj_elf_write_symbol):
|
|
(obj_elf_write_symbol_p):
|
|
(obj_elf_frob_symbol):
|
|
(elf_stab_symbol):
|
|
(elf_frob_file):
|
|
|
|
* config/tc-hppa.c: Support for HPPA symbol extension sections.
|
|
Remove some unused code. Support for HPPA assembly language
|
|
syntax.
|
|
|
|
* app.c:
|
|
|
|
* symbols.c:
|
|
|
|
* config/obj-elf.h:
|
|
(obj_write_symbol):
|
|
(obj_frob_file):
|
|
(elf_tc_symbol):
|
|
(elf_tc_make_sections):
|
|
|
|
* config/tc-hppa.h:
|
|
|
|
Sun May 30 21:44:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (obj_read_begin_hook, add_file): Assume
|
|
hash_new will have succeeded if it returns.
|
|
* config/tc-a29k.c (md_begin): Likewise.
|
|
|
|
* config/tc-i386.c (tc_aout_fix_to_chars): Now nbytes_r_length is
|
|
const.
|
|
(mode_from_disp_size, opcode_suffic_to_type): Now inline under
|
|
gcc.
|
|
(fits_in_{signed,unsigned}_{byte,word}): Likewise.
|
|
|
|
* expr.c: Delete register declarations; gcc ignores them anyways.
|
|
|
|
Fri May 28 19:03:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* hash.c (hash_new): Use xmalloc, since many callers don't check
|
|
for failure.
|
|
|
|
Thu May 27 13:02:15 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* frags.c (zero_address_frag, bss_address_frag): These are
|
|
external.
|
|
|
|
* tc.h (md_reloc_size): This is const.
|
|
* config/tc-{a29k,h8300,h8500,i386,i860,i960,m68k,ns32k,z8k}.c
|
|
(md_reloc_size): Now const.
|
|
|
|
* config/aout_gnu.h (enum machine_type, enum reloc_type): Delete
|
|
trailing commas.
|
|
* as.h (enum _segT): Ditto.
|
|
|
|
* struc-symbol.h (N_TYPE_seg): This should be const.
|
|
|
|
Thu May 27 11:43:59 1993 Michael Meissner (meissner@osf.org)
|
|
|
|
* config/obj-ecoff.c (add_file): Cast file_name to char * in
|
|
listing_source_file call.
|
|
|
|
* config/obj-elf.c (elf_stab_symbol_string): Cast first argument
|
|
of subseg_new call to eliminate const attribute.
|
|
(obj_elf_stab): Ditto.
|
|
(obj_symbol_new_hook): Cast first argument of bzero call to char *.
|
|
|
|
* read.c (s_align_bytes): Properly record alignment.
|
|
|
|
* expr.c (__): Undefine __ macro before use, since OSF/1 uses it
|
|
for the prototype/no prototype macro.
|
|
|
|
* as.c (got_sig): Don't do return ((SIGTY) 0), SIGTY might well be
|
|
void.
|
|
|
|
* as.h (relax_stateT enum): Delete trailing comma.
|
|
|
|
Thu May 27 11:07:50 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* app.c (do_scrub_begin): Let line_comment_chars override
|
|
comment_chars.
|
|
(do_scrub_next_char): If a line comment character is not at the
|
|
start of a line, treat it as a comment character if it is one.
|
|
For a CPP line comment use pseudo-op .appline rather than .line.
|
|
* input-scrub.c (logical_input_line): Make int rather than
|
|
unsigned.
|
|
(input_scrub_push, input_scrub_begin): Initialize
|
|
logical_input_line to -1 rather than 0.
|
|
(bump_line_counters): Increment logical_input_line.
|
|
(new_logical_line): If line_number is -2, decrement
|
|
logical_input_line.
|
|
(as_where): Use logical_input_line even if it is 0.
|
|
* read.h (s_app_file prototype): Now takes an int argument.
|
|
* read.c (potable): Make .appfile call s_app_file with 1. New
|
|
.appline pseudo-op calls s_app_line.
|
|
(s_app_file): If .appfile, call new_logical_line with -2 to
|
|
account for newline inserted by do_scrub_next_char. If listing,
|
|
call listing_source_file.
|
|
(s_app_line): New function to handle fake pseudo-op .appline.
|
|
* config/obj-coff.c (obj_pseudo_table): Make .appline call
|
|
obj_coff_ln.
|
|
(obj_coff_ln): Added argument to indicate whether .appline.
|
|
* config/obj-coffbfd.c (obj_pseudo_table): Make .appline call
|
|
obj_coff_ln.
|
|
(obj_coff_ln): Added argument to indicate whether .appline.
|
|
* config/tc-mips.c (s_file): Pass argument to s_app_file.
|
|
|
|
Tue May 25 11:59:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-bout.h (S_GET_VALUE): Removed unnecessary cast.
|
|
|
|
Thu May 20 19:14:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2): Straighten out check for
|
|
invalid values.
|
|
|
|
Wed May 19 07:33:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
|
|
|
* config/tc-h5000.c (build_bytes): Understand @rd mode and build
|
|
relocations correctly.
|
|
|
|
Mon May 17 15:06:26 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
|
|
|
* Makefile.in (FLAGS_TO_PASS): Leave out TEXI2DVI for now, because
|
|
it's wrong.
|
|
|
|
* config/tc-m68k.c (md_apply_fix_2): Apply range checks and warn
|
|
if value is out of range.
|
|
|
|
Patch from Minh Tran-Le:
|
|
* config/tc-i386.c (i386_operand): For in/out port register used
|
|
as base reg, include InOutPortReg in operand type.
|
|
(MATCH): Accept overlap value of InOutPortReg.
|
|
|
|
Mon May 17 09:29:34 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.c (add_file, obj_ecoff_loc, obj_ecoff_stab):
|
|
Add calls to listing routines to produce combined source/assembler
|
|
listings.
|
|
(obj_ecoff_stab): Create a file pointer if none used yet.
|
|
(ecoff_frob_file): Set symcount to correct value.
|
|
|
|
Fri May 14 06:53:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
|
|
|
* Makefile.in (VERSION): Bump to version 2.1, in preparation for
|
|
release.
|
|
|
|
* config/obj-aout.h (H_GET_HEADER_SIZE, H_SET_SYMBOL_TABLE_SIZE):
|
|
Define in terms of constants, not C structure sizes.
|
|
|
|
* config/tc-rs6000.c, config/tc-rs6000.h: Delete empty files.
|
|
|
|
Thu May 13 17:01:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-aout.c (obj_header_append): Don't define if it's
|
|
defined as a macro.
|
|
* config/obj-hp300.h (obj_header_append): Define it as a macro.
|
|
* config/obj-hp300.c (hp300_header_append): New function.
|
|
|
|
* Makefile.in (distclean): Don't bother cleaning up doc files;
|
|
they aren't going to be in this directory.
|
|
|
|
Thu May 13 07:51:35 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.c (ecoff_build_symbols): Handle absolute
|
|
symbols.
|
|
|
|
* tc.h (TC_COFF_SIZEMACHDEP): Don't define here.
|
|
* config/tc-sh.h (TC_COFF_SIZEMACHDEP): Define here instead.
|
|
|
|
Mon May 10 06:01:12 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/obj-vms.c (VMS_Symbol_type_list): Don't bother with
|
|
initialization.
|
|
|
|
* configure.in (targets): Treat m68*-*-sysv* like m68k-*-coff.
|
|
|
|
Wed May 5 14:00:49 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Correct floating point double word
|
|
loads and stores for big endian target.
|
|
|
|
Wed May 5 08:39:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
|
|
|
* config/tc-i386.c: Replace SEG_* with *_section, fix up subseg_*
|
|
calls. Deleted some unused code.
|
|
* config/obj-coff.c: Likewise.
|
|
|
|
ELF support, mostly contributed by Utah:
|
|
* config/obj-elf.c (obj_elf_section, obj_elf_stab, obj_elf_line,
|
|
obj_elf_type): Rewrite.
|
|
(obj_elf_frob_symbol, elf_stab_symbol_string, elf_stab_symbol,
|
|
obj_elf_desc, obj_elf_version, obj_symbol_new_hook, obj_elf_size):
|
|
New functions.
|
|
(obj_elf_ident): Dummy.
|
|
* config/obj-elf.h (FALSE, TRUE, S_*, tc_frob_symbol,
|
|
TARGET_SYMBOL_FIELDS): New macros.
|
|
(gdb_section): New variable decl.
|
|
|
|
* config/tc-i386.c (md_atof): Return zero, not empty string, on
|
|
success.
|
|
|
|
BFD_ASSEMBLER conditional changes:
|
|
* config/obj-coff.c (lineno_rootP, seg_N_TYPE, *_section_header):
|
|
Don't define these.
|
|
(SA_SET_SYM_ENDNDX, SA_SET_SYM_TAGNDX): New functions.
|
|
(fetch_coff_debug_section): Ditto.
|
|
(obj_coff_endef): Call fetch_coff_debug_section.
|
|
(struct line_no): New type.
|
|
(c_symbol_merge): New way for copying aux fields.
|
|
(c_dot_file_symbol): Put symbol in absolute section, and set flag
|
|
BSF_DEBUGGING.
|
|
(function_lineoff): New symbol.
|
|
(function_lineoff, text_lineno_number, our_lineno_number,
|
|
lineno_lastP): Don't define.
|
|
(c_line_new): Don't define.
|
|
(obj_emit_lineno, obj_coff_endef): Use abort calls as, uh,
|
|
placeholders, until
|
|
line-number recording gets implemented.
|
|
(obj_new_symbol_hook): New code for handling aux fields.
|
|
(add_lineno, add_linesym): New functions.
|
|
(obj_coff_ln): Call add_lineno, not c_line_new.
|
|
(obj_coff_endef): New code for handling symbol names. New lineno
|
|
code. Look for section name "*DEBUG*" for debugging section.
|
|
(align, coff_check_file_symbols, obj_coff_section,
|
|
coff_frob_file): New functions.
|
|
* config/obj-coff.h: Reordered some includes.
|
|
(BYTE_ORDERING, FILE_HEADER_MAGIC, seg_N_TYPE, N_TYPE_seg,
|
|
DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE, AOUTHDR, AOUTHDRSIZE): Don't
|
|
define these.
|
|
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): New macros.
|
|
(SYM_AUXENT): New macro (for non-BFD_ASSEMBLER too) for accessing
|
|
aux entries. Most SA_* macros now use it unconditionally.
|
|
(S_*): Use `bsym' field, and access BFD private data.
|
|
(SF_*): Use `sy_flags' symbol field for most of these.
|
|
(H_*, object_headers, lineno, lineno_*P, OBJ_EMIT_LINENO): Don't
|
|
define.
|
|
(*_section_header): Don't define.
|
|
* config/tc-i386.c (md_convert_frag, md_apply_fix): Changed
|
|
interface.
|
|
(tc_gen_reloc) [I386COFF]: New function.
|
|
(tc_aout_fix_to_chars, tc_coff_fix2rtype): Don't define.
|
|
* config/tc-i386.h (TARGET_ARCH, TARGET_BYTES_BIG_ENDIAN): New
|
|
macros.
|
|
|
|
* config/obj-coff.c (stack_init): Don't do assignments inside
|
|
conditions.
|
|
(obj_coff_def): Simplified handling of symbol name a bit.
|
|
(tag_insert): Name argument is now pointer to CONST.
|
|
(obj_crawl_symbol_chain): Commented out.
|
|
|
|
* config/obj-coff.h: Use PARAMS macro in prototypes.
|
|
|
|
* write.c (relax_and_size_seg) [BFD_ASSEMBLER]: Don't indirect
|
|
through frchainP pointer if it is null.
|
|
|
|
* configure.in: Warn if BFD mode is explicitly turned off but is
|
|
required by specified target.
|
|
(mips ecoff targets): Don't need to set bfd_gas here; it gets
|
|
taken care of later.
|
|
|
|
* config/obj-coffbfd.c (crawl_symbols): Don't clear sy_forward
|
|
field.
|
|
(yank_symbols): Merge symbols only if sy_forward is null.
|
|
|
|
* config/tc-m68k.h (AOUT_MACHTYPE): Don't define if already
|
|
defined.
|
|
|
|
* tc.h (md_convert_frag) [BFD_ASSEMBLER]: Section arg is not
|
|
pointer.
|
|
* config/tc-m68k.c (md_convert_frag) [BFD_ASSEMBLER]: Ditto.
|
|
|
|
* config/tc-sparc.h (LOCAL_LABEL) [OBJ_ELF]: Anything starting
|
|
with "." is a local label.
|
|
|
|
* config/te-hppa.h, config/tc-hppa.h, config/tc-hppa.c: New config
|
|
files.
|
|
|
|
* config/te-linux.h, config/te-386bsd.h: New config files.
|
|
* configure.in (i386-*-linux, i386-*-bsd): Use them.
|
|
* config/tc-i386.h (TARGET_FORMAT): Select format based on target
|
|
environment.
|
|
(DOT_LABEL_PREFIX): Don't define for 386bsd or Linux.
|
|
|
|
Wed May 5 13:14:01 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.c (init_file): Set fMerge to 0 since dbx seems
|
|
to want it that way.
|
|
(ecoff_build_symbols): Turn local st_Proc symbols into
|
|
st_StaticProc symbols. Set index field of external st_Proc and
|
|
st_staticProc symbols correctly.
|
|
* config/tc-mips.h (NO_LISTING): Don't define. People might want
|
|
listings.
|
|
|
|
Tue May 4 21:22:54 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-hp300.h, config/obj-hp300.c, config/te-hp300.h: New
|
|
files.
|
|
* configure.in (m68k-*-hpux): Use them.
|
|
|
|
* config/obj-aout.c (obj_pre_write_hook): Use AOUT_VERSION if
|
|
defined, otherwise zero.
|
|
|
|
* config/aout_gnu.h (OMAGIC): Don't define if already defined.
|
|
|
|
Mon May 3 15:59:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Allow any abs expression as an
|
|
address space number.
|
|
|
|
Wed Apr 28 19:11:22 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
|
|
|
|
* config/obj-aout.h (TARGET_DEFAULT): Don't default this at all.
|
|
|
|
* config/tc-a29k.c: Include ctype.h.
|
|
(define_some_regs): Added special-purpose registers for 29050.
|
|
|
|
* config/tc-i386.c (comment_chars) [TE_I386AIX]: Include "/".
|
|
|
|
* config/obj-coffbfd.c (fill_section): Don't set STYP_REG here.
|
|
(change_to_section): Set it here instead.
|
|
|
|
Wed Apr 28 13:40:29 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
|
|
|
|
* config/obj-ecoff.c (obj_symbol_new_hook): Make up a .file if one
|
|
hasn't been seen yet.
|
|
(add_ecoff_symbol): Don't refer to cur_file_ptr if it is NULL.
|
|
|
|
Mon Apr 26 18:29:05 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-sh.ch, config/tc-sh.h: New files supporting Hitachi
|
|
SH.
|
|
|
|
Mon Apr 26 12:28:27 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* expr.c (operand): Fix unary plus operator (previously was the
|
|
same as '~' operator!).
|
|
|
|
Wed Apr 21 00:20:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (cvt_frag_to_fill): Define even if BFD is defined.
|
|
(write_object_file): Do define if BFD_ASSEMBLER. Invoke
|
|
obj_check_file_symbols if defined. Call verify_symbol_chain_2
|
|
instead of open-coding it. Fix some bugs in patching up symbol
|
|
chain.
|
|
(relax_segment): Make some code we "ought to be able to" use for
|
|
all targets no longer conditionalized on ns32k target; instead, do
|
|
it always, and if the appropriate conditions fail, abort.
|
|
|
|
* symbols.c (DEBUG): Enabled.
|
|
(symbol_new): Make sure bfd_make_empty_symbol works.
|
|
(verify_symbol_chain_2): New function; takes one symbol as
|
|
argument, anywhere in the chain.
|
|
(dollar_label*): Use default initializers.
|
|
|
|
* as.c (perform_an_assembly_pass): Call md_begin here...
|
|
(main): ...and not here.
|
|
|
|
* config/tc-m68k.h (TARGET_FORMAT): Use a.out-sunos-big for a.out.
|
|
(tc_frob_symbol): New macro: Get rid of symbols in reg_section.
|
|
|
|
* config/tc-m68k.c (omagic): Don't define for BFD_ASSEMBLER.
|
|
(add_fix, add_frag): Now functions instead of macros.
|
|
(m68k_reg_parse, m68k_ip, md_estimate_size_before_relax, get_num,
|
|
s_data1, s_data2, s_bss): Use new *_section names, for
|
|
compatibility with BFD_ASSEMBLER mode; rewrite switch statements
|
|
to handle non-integral segT.
|
|
(tc_coff_fix2rtype, tc_aout_fix_to_chars,
|
|
tc_coff_symbol_emit_hook): Don't define for BFD_ASSEMBLER.
|
|
(tc_gen_reloc): New routine for BFD_ASSEMBLER.
|
|
(md_apply_fix, md_apply_fix_2): Renamed old md_apply_fix to
|
|
md_apply_fix_2; new md_apply_fix definition varies interface
|
|
depending on BFD_ASSEMBLER.
|
|
(md_convert_frag, md_convert_frag_1): Likewise. Use new *_section
|
|
names.
|
|
|
|
* config/obj-vms.c: Include config.h.
|
|
(version_string): Delete declaration.
|
|
(Write_VMS_MHD_Records): Use GAS_VERSION instead.
|
|
(vms_resolve_symbol_redef): New function, taken from VMS code in
|
|
symbols.c.
|
|
(_doprnt): Deleted.
|
|
(VMS_Store_Struct, VMS_Def_Struct, VMS_Set_Struct,
|
|
VMS_TBT_Block_End, get_VMS_time_on_unix, generate_suffix,
|
|
VMS_Psect_Spec): Fixed to compile under traditional C.
|
|
* config/obj-vms.h: Use PARAMS macro.
|
|
(vms_resolve_symbol_redef): Declare.
|
|
(RESOLVE_SYMBOL_REDEFINITION): New macro.
|
|
* symbols.c (colon): Remove some VMS-specific code, look for
|
|
RESOLVE_SYMBOL_REDEFINITION macro instead.
|
|
|
|
* config/tc-m68k.c (m68k_ip): Don't try expanding DBcc
|
|
instructions.
|
|
|
|
* config/tc-i386.c: Reordered some functions so inlining might
|
|
work. Use PARAMS in function declarations.
|
|
(reloc): New routine.
|
|
(md_assemble): Rearrange switch statements to work with
|
|
non-integral segT.
|
|
|
|
* struc-symbol.h [BFD_ASSEMBLER]: Undefine
|
|
SYMBOLS_NEED_BACKPOINTERS before defining it.
|
|
|
|
* subsegs.c (subseg_new_rest): Now static.
|
|
|
|
* read.c (pseudo_set): Better error message for difference of
|
|
symbols in different frags.
|
|
|
|
* Makefile.in (check): Pass down some new variables, indicating
|
|
pathname or program name for cc, nm, objdump.
|
|
|
|
* as.h (OUTPUT_FLAVOR): New macro.
|
|
* config/tc-sparc.c (tc_gen_reloc): Use OUTPUT_FLAVOR.
|
|
|
|
* configure.in: Initialize bfd_gas properly. Warn that ELF
|
|
support is incomplete.
|
|
|
|
Thu Apr 15 22:39:05 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* read.c (float_cons): Accept null pointer return from md_atof.
|
|
* config/tc-m68k.c (md_atof): Return null for success.
|
|
* config/tc-sparc.c (md_atof): Ditto.
|
|
|
|
Thu Apr 15 16:04:39 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
|
|
|
* doc/as.texinfo: formatting and comment cleanups; show SPARC
|
|
alternative options in same style as other machines; simplify some
|
|
conditional use; include GPL as separate file (from texinfo dir)
|
|
|
|
* doc/Makefile.in: (as.info) include directory containing GPL in
|
|
makeinfo search path
|
|
|
|
* doc/h8.texi: new file; conditional settings for GAS manual
|
|
on Hitachi chips
|
|
|
|
Tue Apr 13 15:31:40 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
|
|
|
* doc/as.texinfo: mention SPARC architecture options.
|
|
|
|
Fri Apr 9 17:43:11 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* configure.in: Rearranged whitespace in per-host/per-target
|
|
sections. Added hooks for dropping in HPPA support (not included
|
|
yet). Separate out overrides of variables based on target format
|
|
and bfd-gas selection from actual target-specific commands. Add
|
|
error message for recognized but unsupported format name.
|
|
|
|
Fri Apr 9 09:05:47 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.h (ecoff_build_lineno): Make ilineMax in
|
|
symbolic header match cline in FDR; the native linker seems to
|
|
want that.
|
|
|
|
Thu Apr 8 15:51:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* doc/Makefile.in: as.texinfo is in $(srcdir). Use
|
|
$(srcdir)/as.texinfo explicitly in several places
|
|
|
|
Thu Apr 8 15:15:02 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
|
|
|
* doc/Makefile.in: update dvi, clean targets for new source
|
|
file structure
|
|
|
|
Thu Apr 8 12:52:46 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/ho-decstatn.h: Define BROKEN_ASSERT if not __GNUC__,
|
|
rather than undefining know.
|
|
* configure.in: Match ultrix*, not just ultrix.
|
|
|
|
Wed Apr 7 20:18:10 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
|
|
|
|
* doc/as.texinfo: converted conditional markup to use new
|
|
Texinfo facilities, avoiding m4.
|
|
|
|
* doc/as-all.texinfo, all.m4, pretex.m4: deleted.
|
|
|
|
* doc/Makefile.in: recast doc configuration to use a link to an
|
|
included texinfo file.
|
|
|
|
* doc/all.texi: settings for generic form of documentation.
|
|
|
|
Tue Apr 6 11:56:21 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* read.c (cons): Zero out frag when creating reloc.
|
|
|
|
Mon Apr 5 09:41:58 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c (gp_reference): Certain magic symbols can never
|
|
be referenced off the GP register.
|
|
|
|
* app.c (do_scrub_next_char): Handle states 9 and 10 correctly
|
|
when dealing with characters of type LEX_IS_TWOCHAR_COMMENT_1ST,
|
|
LEX_IS_STRINGQUOTE, and LEX_IS_ONECHAR_QUOTE.
|
|
|
|
* config/te-irix.h: New file; irix needs a different LOCAL_LABEL
|
|
definition from other MIPS targets.
|
|
* configure.in (mips-*-irix): Use emulation irix.
|
|
|
|
Sun Apr 4 15:21:09 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-h8500.c: Get relax size of branch instructions right,
|
|
(get_operand): Parse @sp+ correctly.
|
|
|
|
Fri Apr 2 15:59:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* subsegs.h (segment_info_type) [BFD_ASSEMBLER]: Don't include
|
|
COFF section header field.
|
|
|
|
* configure.in: Print error message if host or target is not
|
|
supported.
|
|
|
|
* configure.in: If with-bfd-assembler, use obj-coff instead of
|
|
obj-coffbfd.
|
|
|
|
* config/ho-generic.h: Include string.h.
|
|
|
|
Fri Apr 2 08:54:57 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.h (LOCAL_LABEL): Treat any label starting with
|
|
'$' as local, for any object file format.
|
|
|
|
* config/tc-mips.c (macro): Optimizations to branching code and a
|
|
couple of bug fixes from ralphc@pyrps5.eng.pyramid.com (Ralph
|
|
Campbell).
|
|
|
|
* config/ho-irix.h: New file; if not gcc, define BROKEN_ASSERT.
|
|
* configure.in (mips-sgi-irix*): Set gas_host to irix.
|
|
|
|
Wed Mar 31 17:53:54 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* subsegs.c (subseg_new): Set output_section of new section.
|
|
* as.c (perform_an_assemly_pass): Don't set output_section here.
|
|
* expr.c (expr_part, expr): Turn off section assertions for ECOFF,
|
|
since it has additional sections.
|
|
* read.c (s_lcomm): For MIPS ECOFF, put small objects in .sbss,
|
|
not bss_section.
|
|
* config/obj-ecoff.h (TARGET_SYMBOL_FIELDS): Added
|
|
ecoff_undefined field.
|
|
* config/obj-ecoff.c (obj_symbol_new_hook): Initialize
|
|
ecoff_undefined field.
|
|
(add_file): If using stabs, just output a stabs symbol rather than
|
|
creating a new fdr.
|
|
(obj_ecoff_begin, obj_ecoff_bend): Ignore line number by reading
|
|
it with get_absolute_expression, rather than skipping it by hand.
|
|
(obj_ecoff_loc): If using stabs, just output a stabs symbol rather
|
|
than ECOFF line number information.
|
|
(obj_ecoff_stab): Accept non-zero values for stabs line number.
|
|
(ecoff_build_symbols): Set ifilesym correctly. Set storage class
|
|
to small, undefined and/or readonly sections if appropriate.
|
|
Don't output symbol names containing \001 characters.
|
|
(ecoff_frob_file): Make sure at least one fdr is output.
|
|
* config/tc-mips.h: Define TC_MIPS.
|
|
* config/tc-mips.c (g_switch_value): New static variable.
|
|
(md_assemble): Set gp size of output BFD.
|
|
(gp_reference): New function; returns 1 if expression can be
|
|
accesssed via gp. Always returns 0 if not using ECOFF.
|
|
(macro_build): Convert BFD_RELOC_LO16 to BFD_RELOC_MIPS_GPREL if
|
|
possible.
|
|
(macro): Generate sequences using gp if possible.
|
|
(md_parse_option): Ignore -EL and -EB. Parse -G.
|
|
(md_apply_fix): Added BFD_RELOC_MIPS_GPREL to ignored case.
|
|
(s_change_sec): Handle .rdata and .sdata for ECOFF.
|
|
(s_extern): Mark symbol as external. Set ecoff_undefined field.
|
|
|
|
Tue Mar 30 10:11:41 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* output-file.c (output_file_create): Don't call as_perror for
|
|
filename rejected by application.
|
|
|
|
* as.c (main) [BFD_ASSEMBLER]: If errors occur, close and unlink
|
|
the output file.
|
|
|
|
* doc/as.texinfo: Don't use @value in node names for the moment;
|
|
references don't appear to work right.
|
|
|
|
* as.h (const, volatile): Put these definitions back, and use
|
|
them.
|
|
|
|
* doc/as.texinfo: First pass at using new texinfo features --
|
|
variables, conditional tests. Far from complete.
|
|
|
|
Mon Mar 29 16:05:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* read.c: Temporary hack to handle some 64-bit constants. This
|
|
should be redone later.
|
|
(target_big_endian): Declare.
|
|
(big_cons): If it's set, reverse order of bytes being copied.
|
|
* config/tc-sparc.c (md_begin): Set target_big_endian.
|
|
|
|
* read.c (s_ignore): Delete declaration of is_end_of_line.
|
|
|
|
* config/obj-coffbfd.c (yank_symbols): Build list of file symbol
|
|
forward pointers properly.
|
|
|
|
Mon Mar 29 13:47:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocs
|
|
wasn't being stored into scnhdr.
|
|
* config/obj-coffbfd.h: Add prototype of s_get_segment.
|
|
* read.c (TC_START_LABEL): Default definition.
|
|
(read_a_source_file): Use TC_START_LABEL macro to work out
|
|
if a label has been seen.
|
|
|
|
Mon Mar 29 12:56:56 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* configure.in: Set BFDDEF and BFDLIB at the top of Makefile, not
|
|
the bottom (make expands variables in dependencies when the
|
|
dependencies are read, not when they are used).
|
|
|
|
* config/obj-coffbfd.c (fill_section): Don't set NOLOAD bit for
|
|
a29k .bss section; the mondfe program doesn't like it.
|
|
|
|
Sun Mar 28 08:12:53 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/tc-m68k.c: Use PARAMS macro, and use CONST instead of
|
|
const.
|
|
(current_architecture): Don't need initializer.
|
|
|
|
Fri Mar 26 08:12:48 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* doc/none.m4: Define Z8000.
|
|
* doc/Makefile.in (as-*.texinfo): Refer to $(srcdir). Remove the
|
|
texinfo file before recreating it.
|
|
(TEXI2DVI): Need to set TEXINPUTS if "make as.dvi" is to work in
|
|
this directory.
|
|
(srcdir): Delete second, bogus definition.
|
|
(as.info): Look for as-*.texinfo in current directory rather than
|
|
in $(srcdir).
|
|
(as.dvi): Ditto.
|
|
(dvi): New rule.
|
|
* doc/configure.in: Create links to all as-*.texinfo files in the
|
|
source directory, if that's not the current directory.
|
|
|
|
* configure.in (per-host): Accept MIPS host with BSD version
|
|
number.
|
|
(per-target): Classify i486 as i386. Use generic cpu_type instead
|
|
of target_cpu in selecting format etc.
|
|
|
|
* app.c (do_scrub_next_char): Use .appfile, not .app-file.
|
|
* read.c (potable): Change .app-file to .appfile.
|
|
|
|
* config/ho-decstatn.h: Renamed from ho-decstation.h.
|
|
* configure.in: Adjusted.
|
|
|
|
* config/obj-bfd-sunos.*: Unused; deleted.
|
|
|
|
* Makefile.in (version.c, vers-stamp): Deleted.
|
|
(config.h): Define GAS_VERSION.
|
|
* as.c (version_string): Deleted declaration.
|
|
(main): Look for GAS_VERSION instead.
|
|
|
|
* doc/as.texinfo: Updated description of -a* (listing) options,
|
|
and describe how to pass them through from gcc.
|
|
|
|
* config/obj-coffbfd.c (do_relocs_for): Don't allocate storage or
|
|
process relocs if there aren't any relocs to process. Avoids
|
|
malloc/free bug on SCO too.
|
|
|
|
* as.h: Move local include files below system include files, to
|
|
avoid some redefinition complaints on some systems.
|
|
(const, volatile): Don't need these conditionally defined if we
|
|
use CONST and VOLATILE from ansidecl.h.
|
|
(seg_name): Use CONST, not const.
|
|
|
|
Fri Mar 26 10:22:04 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c: Reindented to GNU standards.
|
|
|
|
Thu Mar 25 08:59:14 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (do_relocs_for): Remove a29k special case.
|
|
(fixup_segment): Add a29k special case; the linker is not prepared
|
|
to see a segment offset here.
|
|
|
|
* app.c (do_scrub_next_char): Added new state, 10, modifying state
|
|
9 to only keep a space in between identifier characters.
|
|
|
|
Wed Mar 24 02:16:22 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
|
|
|
|
* Makefile.in: add dvi target; as-$(config).texinfo might live in
|
|
srcdir, might be in objdir.
|
|
|
|
* doc/Makefile.in: dvi depends on as.dvi
|
|
|
|
Mon Mar 22 23:59:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* Makefile.in: add installcheck target
|
|
|
|
Mon Mar 22 16:25:57 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Add support for membar mask names.
|
|
Add missing colons in prefetch error messages. Add support for
|
|
ASI names.
|
|
|
|
Mon Mar 22 10:19:00 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/tc-mips.c (macro): Use $AT for any floating point load.
|
|
|
|
Sat Mar 20 12:50:51 1993 Ken Raeburn (raeburn@urth.cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): For operand type 'M', reject
|
|
bignums, but don't emit error message.
|
|
|
|
Fri Mar 19 21:02:19 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* Makefile.in (targ-cpu.o): Depend on config.h.
|
|
|
|
Wed Mar 17 16:44:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* app.c (do_scrub_next_char): Added new state, 9, to avoid
|
|
dropping a space immediately following an identifier.
|
|
* expr.c, write.c: Rewrote assert expressions to not use multiple
|
|
lines; I don't think that can be done portably.
|
|
* config/tc-mips.c (macro): Use $AT if target register is zero in
|
|
load instruction, which it can be for a floating point load.
|
|
|
|
Mon Mar 15 12:17:28 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* write.c (write_contents): Compute the relocs before writing out
|
|
the section contents.
|
|
* config/obj-ecoff.h, config/obj-ecoff.c: Numerous changes to get
|
|
symbol table and values right.
|
|
* config/tc-mips.h (LOCAL_LABEL): If OBJ_ECOFF, any label starting
|
|
with $L is local.
|
|
* config/tc-mips.c (tc_gen_reloc): If OBJ_ECOFF, adjust the addend
|
|
by the section vma.
|
|
|
|
* config/z8k.mt (TARG_CPU_DEPENDENTS): The relevant file is
|
|
z8k-opc.h, not z8k.h.
|
|
|
|
* config/obj-coffbfd.c (obj_coff_endef): Correct test for .bf
|
|
symbol.
|
|
|
|
Fri Mar 12 18:33:36 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* configure.in: recognize sparc-sun-solaris2* instead of -solaris2
|
|
|
|
Fri Mar 12 12:00:07 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* expr.c, write.c: Ultrix native 4.2 cc requires assert condition
|
|
to be on a single line.
|
|
|
|
Thu Mar 11 17:56:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* Makefile.in (config.h): Create file, writing out definitions of
|
|
target cpu, alias, and canonical name.
|
|
(ALL_CFLAGS): No longer define TARGET_CPU.
|
|
|
|
* Makefile.in (check): Print a message, instead of quitting
|
|
silently.
|
|
|
|
* as.c (main): Don't catch any signals, for now.
|
|
|
|
* version.c: Deleted.
|
|
* Makefile.in: Generate it, putting in only the version number
|
|
itself.
|
|
(VERSION): New variable.
|
|
* as.c: Include config.h.
|
|
(main): Reformatted version string. Include target alias. Don't
|
|
print if not requested (i.e., unknown -v argument).
|
|
|
|
* as.c (stralloc): Deleted.
|
|
(main): Call strdup instead.
|
|
|
|
* configure.in: Handle all 68300 series chips.
|
|
* config/tc-m68k.c: Include config.h.
|
|
(md_assemble): Assume TARGET_CPU is defined. Accept some 68300
|
|
series cpus as defaults.
|
|
(md_parse_option): Accept some m68300 series CPUs as defaults.
|
|
|
|
Wed Mar 10 17:41:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* as.c (EXIT_SUCCESS, EXIT_FAILURE): Define to normal values if
|
|
not already defined.
|
|
(main, got_sig): Use them.
|
|
* config/ho-vms.h (EXIT_SUCCESS, EXIT_FAILURE): Reverse default
|
|
values.
|
|
|
|
Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-ecoff.c, config/obj-ecoff.h: Preliminary ECOFF
|
|
support.
|
|
|
|
* config/tc-mips.h (TARGET_FORMAT): Define based on OBJ_AOUT vs.
|
|
OBJ_ECOFF as well as TARGET_BYTES_*_ENDIAN.
|
|
(struct loc, struct proc, struct file): Moved to tc-mips.c within
|
|
#ifndef OBJ_ECOFF block, since ECOFF uses different versions.
|
|
* config/tc-mips.c: Rearranged for ECOFF support. Added
|
|
prototypes for all static functions. Moved existing minimal
|
|
debugging format support info #ifndef OBJ_ECOFF blocks.
|
|
(macro_build_lui): Eliminated sign_extend argument, because ECOFF
|
|
does not support a non sign extended high 16 bits reloc. Adjusted
|
|
all callers accordingly.
|
|
(tc_get_register): Renamed from get_register, and made non-static.
|
|
|
|
* config/mips-big.mt, config/mips-lit.mt: New files. Define
|
|
TARGET_BYTES_BIG_ENDIAN and TARGET_BYTES_LITTLE_ENDIAN,
|
|
respectively.
|
|
* configure.in (mips-*-bsd*): Use gas_target mips-lit.
|
|
(mips-*-ultrix*, mips-*-irix*, mips-*-ecoff): New targets, using
|
|
obj_format ecoff and gas_target mips-lit or mips-big.
|
|
|
|
Tue Mar 9 07:43:01 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* version.c: Bump to version 2.0.1.
|
|
|
|
Tue Mar 9 07:40:06 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* write.c (chain_frchains_together): Check that seg_info (section)
|
|
is not NULL.
|
|
(write_object_file): Call obj_frob_file after setting the symbols,
|
|
not before.
|
|
|
|
Tue Mar 9 00:00:00 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* Version 2.0 released.
|
|
|
|
Mon Mar 8 14:57:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-i386.h (TC_COUNT_RELOC): Look for fx_addsy only.
|
|
|
|
Fri Mar 5 09:05:55 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* read.h: Define stringer here.
|
|
read.c, config/obj-ieee.c, config/obj-tcm88k.c: Not any of these
|
|
places.
|
|
|
|
Thu Mar 4 11:52:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* read.c (s_space): Multiply repeat count by mult, not fill.
|
|
|
|
Thu Mar 4 05:20:42 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* read.c: Include ctype.h.
|
|
|
|
Wed Mar 3 10:41:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
Patches from Eric Youngdale:
|
|
* make-gas.com: Find obstack.obj if it's not in the current
|
|
directory.
|
|
* read.c (s_ignore): Don't declare is_end_of_line. It's
|
|
redundant, and triggers a VMS gcc compiler bug.
|
|
|
|
* write.c (write_object_file): Macro SUB_SEGMENT_ALIGN now takes
|
|
current segment as an argument. (Ignored in all cases but VMS.)
|
|
All callers and definitions changed.
|
|
|
|
Tue Mar 2 11:56:19 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* listing.c: Cleaned up a bit, added prototypes, made NO_LISTING
|
|
case compile again.
|
|
|
|
Tue Mar 2 08:53:34 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-m68k.c (isbyte): Accept all values from -255 to +255,
|
|
so "~0x80" won't be rejected.
|
|
|
|
* config/obj-elf.c: No longer include elf/reloc.h.
|
|
(obj_elf_section): Set SEC_READONLY and SEC_CODE for text section.
|
|
(obj_elf_stab, obj_elf_desc): Deleted do-nothing and commented-out
|
|
routines.
|
|
(obj_elf_xstab): New routine.
|
|
(obj_elf_set_size): Call as_warn, not fprintf. Pass desired
|
|
argument to s_ignore. Put "#if 0" around unused code.
|
|
(obj_pseudo_table): Use s_ignore instead of do-nothing routines.
|
|
Call elf_xstabs for .stabs and .xstabs operators.
|
|
|
|
* config/tc-sparc.h (TARGET_FORMAT) [OBJ_ELF]: Now "elf32-sparc".
|
|
|
|
* write.c (relax_and_size_seg): Set SEC_RELOC only if fixups are
|
|
present.
|
|
|
|
* configure.in: mips-bsd configuration was missing format spec.
|
|
Should use aout.
|
|
|
|
* Makefile.in (Makefile): Depends on configure.in.
|
|
|
|
* config/tc-mips.c (append_insn): Don't check for alignment of
|
|
frag in memory; alignment of instructions in section is a separate
|
|
matter.
|
|
|
|
* config/tc-mips.c (macro_build_lui): Fix some assumptions of ANSI
|
|
C availability.
|
|
|
|
* listing.h: Always provide function declarations, not macros, so
|
|
pcc won't lose.
|
|
|
|
Tue Mar 2 00:50:43 1993 John Gilmore (gnu@cygnus.com)
|
|
|
|
* CONTRIBUTORS: Update Gilmore entry.
|
|
|
|
Mon Mar 1 12:03:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): Correctly assemble prefetch
|
|
instructions. Accept integer prefetch function numbers.
|
|
|
|
Wed Feb 24 14:58:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (s_xword): Now call big_cons, so large
|
|
constants are accepted, but symbolic values are not. GCC will not
|
|
generate the latter currently.
|
|
|
|
* frags.c (frag_init): New function.
|
|
(zero_address_frag, bss_address_frag): Now initialized at run
|
|
time.
|
|
* as.c (main): Call frag_init.
|
|
|
|
Wed Feb 24 10:32:42 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* app.c (do_scrub_next_char): In LEX_IS_LINE_COMMENT_START case:
|
|
Don't unget ch2 if we didn't get it.
|
|
|
|
Wed Feb 24 04:14:07 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* doc/Makefile.in (TEXIDIR): Updated for new layout.
|
|
|
|
* config/tc-sparc.c (s_common): Add support for ELF version.
|
|
(tc_gen_reloc) [BFD_ASSEMBLER]: New function.
|
|
* config/tc-sparc.h (TARGET_ARCH, TARGET_FORMAT) [BFD_ASSEMBLER]:
|
|
New macros.
|
|
(md_convert_frag): New macro.
|
|
|
|
* config/tc-m68k.c (m68k_ip): For PC-relative addressing of a
|
|
symbol, fix the offset so "+2" isn't required.
|
|
|
|
* config/tc-i960.c (line_comment_chars, line_separator_chars):
|
|
Define as common/bss.
|
|
(op_hash, reg_hash, areg_hash, iclasses_seen, br_cnt): Default C
|
|
initializers are sufficient.
|
|
|
|
* config/obj-aout.h [BFD_ASSEMBLER]: Include libaout.h from bfd.
|
|
(TARGET_FORMAT) [BFD_ASSEMBLER]: Default to "a.out".
|
|
(S_SET_*, S_GET_*, obj_frob_symbol) [BFD_ASSEMBLER]: New macros.
|
|
(S_SET_TYPE) [!BFD_ASSEMBLER]: New macro.
|
|
* config/obj-aout.c: Use PARAMS macro for declarations. Remove
|
|
"IGNORE_DEBUG" conditional, since both branches are identical.
|
|
Use S_SET_TYPE, S_GET_TYPE, and S_GET_DESC instead of directly
|
|
referencing symbol structure members.
|
|
(obj_aout_frob_symbol) [BFD_ASSEMBLER]: New function.
|
|
|
|
* as.h (struct frag): Reordered a couple of fields for better
|
|
packing.
|
|
|
|
* write.c (record_alignment) [BFD_ASSEMBLER]: Record it in the
|
|
section info.
|
|
(write_contents) [BFD_ASSEMBLER]: New function.
|
|
(write_object_file) [BFD_ASSEMBLER]: Always handle -R here. Call
|
|
fix_new with BFD_RELOC_NONE instead of 0 or NO_RELOC. Call
|
|
obj_frob_file, obj_frob_symbol, tc_frob_symbol if defined.
|
|
(fixup_segment): Make sure common-section symbols get treated the
|
|
same as undefined symbols.
|
|
(fix_new) [BFD_ASSEMBLER]: Argument r_type is of type
|
|
bfd_reloc_code_real_type. Use seg_fix_{root,tail}P derived from
|
|
section info.
|
|
* write.h (fix_new): Update prototype.
|
|
|
|
* tc.h (md_operand, md_convert_frag, tc_headers_hook,
|
|
md_section_align, md_undefined_symbol): Don't provide prototypes
|
|
if these are defined as macros.
|
|
(md_convert_frag) [BFD_ASSEMBLER]: BFD version needs bfd and
|
|
section passed.
|
|
|
|
* symbols.c (symbol_new): Argument NAME is now pointer to const.
|
|
Simplified STRIP_UNDERSCORE code. Remove assumptions about null
|
|
pointers in freshly allocated storage. [BFD_ASSEMBLER]: Get new
|
|
BFD symbol.
|
|
(colon): Display other/desc fields of redefined symbol only if
|
|
S_GET_OTHER and S_GET_DESC are defined.
|
|
(symbol_make): Argument NAME is now pointer to const.
|
|
(symbol_find, symbol_find_base): Likewise.
|
|
(S_IS_*, S_GET_*, S_SET_*) [BFD_ASSEMBLER]: New functions.
|
|
* symbols.h: Fix prototypes for new const arguments. Add
|
|
prototypes for BFD_ASSEMBLER S_* functions.
|
|
|
|
* subsegs.c (subseg_change) [BFD_ASSEMBLER]: BFD version of code
|
|
for changing to an existing section.
|
|
(subseg_new_rest) [BFD_ASSEMBLER]: Split off from subseg_new,
|
|
called by subseg_new and subseg_set.
|
|
(subseg_new) [BFD_ASSEMBLER]: Rewritten to change to new section,
|
|
given section name and subseg number.
|
|
(subseg_set) [BFD_ASSEMBLER]: New function; change to a possibly
|
|
new section/subsection.
|
|
|
|
* read.c: Don't include ctype.h.
|
|
(cons) [BFD_ASSEMBLER]: For undefined symbols, use BFD_RELOC_32
|
|
for now; should be machine-dependent.
|
|
|
|
* configure.in: Accept *-*-elf and *-*-solaris* as ELF format
|
|
targets, forcing BFD use.
|
|
|
|
Wed Feb 17 18:59:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c: Use PARAMS macro for static function
|
|
declarations. Use BFD_RELOC_ macros everywhere, with
|
|
compatibility macros declared for non-BFD mode.
|
|
(struct sparc_it) [BFD_ASSEMBLER]: Use bfd_reloc_code_real_type
|
|
instead of enum reloc_type.
|
|
(emit_sparc_reloc): Commented-out function deleted.
|
|
(md_convert_frag): Deleted.
|
|
(tc_aout_pre_write_hook): Don't define for BFD_ASSEMBLER.
|
|
(md_apply_fix): Changed calling sequence (conditionally) for BFD
|
|
version.
|
|
* config/tc-sparc.h (md_convert_frag): New macro.
|
|
|
|
* config/obj-aout.c (obj_aout_stab): Refer to undefined_section,
|
|
not SEG_UNKNOWN. Use S_SET_TYPE, S_GET_TYPE, S_GET_DESC instead
|
|
of referencing fields directly.
|
|
|
|
* write.c (cvt_frag_to_fill): New function; extracted from
|
|
write_object_file.
|
|
(write_object_file) [! BFD_ASSEMBLER]: Call it.
|
|
(relax_and_size_seg) [BFD_ASSEMBLER]: New function; relax section
|
|
and set its size and flags.
|
|
|
|
* struc-symbol.h (struct symbol) [BFD_ASSEMBLER]: Replace some
|
|
fields with BFD equivalents. Turn on back-pointers, and add
|
|
target-specific fields at end.
|
|
|
|
Thu Feb 11 09:20:37 1993 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* config/obj-coffbfd.c (fill_section): Don't set vaddr here.
|
|
(write_object_file): Set it here instead, so that fixup_segment
|
|
can see the correct value.
|
|
|
|
Mon Feb 8 13:56:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* write.c (write_object_file): Check for errors and warnings and
|
|
bail out before processing contents.
|
|
(chain_frchains_together_1): New function, does most of the work
|
|
of remove_subsegs.
|
|
(chain_frchains_together) [BFD_ASSEMBLER]: New function.
|
|
(remove_subsegs) [! BFD]: Call it.
|
|
(write_object_file) [BFD_ASSEMBLER]: Converted to use BFD
|
|
structures and routines.
|
|
|
|
* config/obj-elf.*: New files.
|
|
|
|
* config/mips.mt, config/rs6000.mt: Deleted.
|
|
|
|
* config/h8300.mt: Don't specify compiler here.
|
|
|
|
* config/z8k.mt: The z8k code depends on the z8k opcode table,
|
|
not the h8300 one.
|
|
* config/tc-z8k.h: Comment fix.
|
|
|
|
* write.c: Reordered some functions for better inlining.
|
|
(fixup_segment): Linkrelax code is no longer conditional on
|
|
TC_I960.
|
|
|
|
Thu Feb 4 12:45:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,
|
|
obj-coffbfd.h}: support for the H8/500
|
|
|
|
Wed Feb 3 19:28:18 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-vms.h (SUB_SEGMENT_ALIGN): Define VMS version here.
|
|
* write.c (write_object_file): Not here.
|
|
(fix_new): Initialize fx_addnumber.
|
|
|
|
* listing.c: Don't include target-cpu.h explicitly, since as.h
|
|
includes it.
|
|
|
|
Thu Jan 28 00:35:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* write.h [BFD_ASSEMBLER]: Don't declare next_object_file_charP,
|
|
*_fix_root, *_fix_tail, seg_fix_rootP, seg_fix_tailP.
|
|
(struct fix): Reordered fields for compactness and efficiency.
|
|
Converted some logical fields to 1-bit fields.
|
|
|
|
* config/obj-aout.h: Use PARAMS.
|
|
[BFD_ASSEMBLER]: Don't define/declare AOUT_MACHTYPE, seg_N_TYPE,
|
|
N_TYPE_seg, DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE.
|
|
|
|
* read.c: Don't include listing.h; as.h includes it. Removed
|
|
DONTDEF code.
|
|
[BFD_ASSEMBLER]: Include subsegs.h.
|
|
(old_buffer, new_broken_words): Default initialization is
|
|
sufficient.
|
|
|
|
* output-file.c [BFD_ASSEMBLER]: Include bfd.h, default TARGET_MACH
|
|
to 0, define stdoutput.
|
|
(output_file_create) [BFD_ASSEMBLER]: Call bfd_perror on failure.
|
|
Call bfd_set_arch_mach.
|
|
(output_file_close) [BFD_ASSEMBLER]: Call bfd_close, not
|
|
bfd_close_all_done. Call bfd_perror on failure.
|
|
(output_file_append) [BFD_ASSEMBLER]: Don't define.
|
|
|
|
* config/m68kcoff.mt (LOCAL_LOADLIBES): Delete definition.
|
|
|
|
* subsegs.h (segment_info_type): Always define. Omit field scnhdr
|
|
if not MANY_SEGMENTS. Define new field bfd_section if
|
|
BFD_ASSEMBLER.
|
|
(seg_info): New macro.
|
|
|
|
* expr.c, input-scrub.c: Use PARAMS macro. Deleted unused
|
|
variables, and some irrelevant comments.
|
|
|
|
* Makefile.in (ALL_CFLAGS): Include $(BFDDEF).
|
|
(LIBS): Include $(BFDLIB). Don't bother with $(CLIB).
|
|
* configure.in: Permit --with-bfd-assembler now, with a warning.
|
|
Variable need_bfd is now a boolean, as is new variable bfd_gas.
|
|
Set BFDDEF and BFDLIB in Makefile when appropriate.
|
|
|
|
* as.c: Removed "#ifdef DONTDEF" and "#ifdef comment" code.
|
|
(main): Refer to flag_always_generate_output instead of
|
|
flagseen['Z'].
|
|
|
|
* as.c (main) [BFD_ASSEMBLER]: Open output bfd.
|
|
(*_section) [BFD_ASSEMBLER]: Define them.
|
|
(perform_an_assembly_pass) [BFD_ASSEMBLER]: Initialize them, and
|
|
set section flags when appropriate.
|
|
* as.h (SEG_NORMAL) [BFD_ASSEMBLER]: Require that the specified
|
|
section is not absolute, undefined, or an assembler internal one.
|
|
(absolute_section, undefined_section): Always define.
|
|
* expr.c, read.c, symbols.c: Refer to *_section, not SEG_*; break
|
|
switch statements into if-else trees.
|
|
* symbols.c [MANY_SEGMENTS]: Deleted redundant definitions of
|
|
SEG_BSS and SEG_DATA.
|
|
|
|
* as.h (frag_now_fix): New macro.
|
|
* symbols.c (colon): Use it.
|
|
|
|
Wed Jan 27 21:43:53 PST 1993 Ralph Campbell (ralphc@pyramid.com)
|
|
|
|
* config/tc-mips.c: Added mips support for mips-dec-bsd.
|
|
* config/tc-mips.h: Added mips support for mips-dec-bsd.
|
|
* config/ho-mipsbsd.h: Added mips support for mips-dec-bsd.
|
|
* config/mips-opcode.h: Added mips support for mips-dec-bsd.
|
|
* configure.in: Added mips support for mips-dec-bsd.
|
|
* atof-generic.c: Define TRUE and FALSE if not defined.
|
|
|
|
Thu Jan 21 12:48:19 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* version.c: Bumped version number to 1.93.05.
|
|
|
|
Wed Jan 20 17:11:53 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/obj-coff.c (obj_emit_relocations): Don't use #elif.
|
|
(obj_emit_lineno): Don't need return at end of void function.
|
|
(obj_symbol_new_hook): Ditto.
|
|
|
|
* config/tc-m68k.c: Removed some unused code.
|
|
(tc_aout_fix_to_chars): Array nbytes_r_length is now const.
|
|
|
|
* config/tc-m68k.h (TC_COUNT_RELOC): Don't emit reloc if only
|
|
offset field is set.
|
|
|
|
Fri Jan 8 05:44:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-sparc.c (sparc_ip): For %uhi and %ulo, if not
|
|
ENV64, emit no reloc.
|
|
(md_pseudo_table): For ".xword", call s_xword.
|
|
(s_xword): New function.
|
|
|
|
* config/tc-sparc.c (architecture_requested, warn_on_bump,
|
|
md_relax_table): Use default zero initialization.
|
|
(s_reserve): Since SEG_E2 is equivalent to SEG_BSS, just use the
|
|
latter, instead of selecting with preprocessor conditionals.
|
|
|
|
Thu Jan 7 08:58:21 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* configure.in: recognise all sparclite variants
|
|
|
|
Thu Jan 7 05:25:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* read.c (s_data) [!BFD_ASSEMBLER]: Fix typo in 4 Jan change --
|
|
accidentally changed to use subseg_change where it should have
|
|
been subseg_new.
|
|
|
|
Tue Jan 5 08:42:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* expr.c (operand): If character other than comma or newline is a
|
|
logical end-of-line character, use the newline case.
|
|
From Eric Youngdale:
|
|
(operand): Set X_add_number field for floating-point numbers.
|
|
(operand): Treat zero byte as end-of-operand.
|
|
|
|
* configure.in (per-target): Look for with_bfd_assembler option.
|
|
For now, only accept "no", until the merge is done.
|
|
|
|
Merged changes from Eric Youngdale (youngdale@v6550c.nrl.navy.mil):
|
|
* as.c, flonum-konst.c, hex-value.c, input-file.c, version.c,
|
|
config/obj-aout.h, config/obj-vms.c: VMS -> HO_VMS.
|
|
* read.c: Finish conversion to S_* macros in the VMS only
|
|
parts of the program. Add "const" modifier to hex_value.
|
|
* as.c, read.c, symbols.c, write.c: Change "ifdef VMS" to
|
|
"ifdef OBJ_VMS".
|
|
* expr.c: Add "const" modifier to hex_value.
|
|
* symbols.c: Finish conversion to S_* macros in the VMS only
|
|
parts of the program. Add "const" modifier to
|
|
md_[long,short]_jump_size. Remove declaration of const_flag
|
|
(which will be declared in obj-vms.h).
|
|
* write.c: Add "const" modifier to md_[long,short]_jump_size.
|
|
Fix arguments to VMS_write_object_file.
|
|
* config-gas.com: New file. Script for VMS systems to set up the
|
|
configuration to build gas for VMS, and create config.status.
|
|
* make-gas.com: Redone to work with new scheme.
|
|
* obj-vms.c: Patch to fix bug where we were not correctly parsing the
|
|
stabs directives.
|
|
* obj-vms.c: Define macros COPY_LONG and COPY_SHORT which
|
|
will swap bytes if needed on a big endian system. Use throughout
|
|
as needed.
|
|
* obj-vms.c (obj_aout_stab): Add code to generate listing file.
|
|
* obj-vms.c (VMS_typedef_parse): Add alias to correctly handle certain
|
|
types of malformed stabs. Change parsing algorithm so that we are
|
|
more certain of having all of the information that we need on hand.
|
|
* obj-vms.c (final_forward_reference): New function, used to help
|
|
resolve the data types of as many struct elements as possible
|
|
when some part of the struct is not fully defined by the compiler.
|
|
* obj-vms.c (VMS_LSYM_Parse): Correctly handle case of continuation
|
|
stabs directives.
|
|
* obj-vms.c (VMS_write_object_file): Define all vtable psects
|
|
as symbols as well in the object file. Look for external functions
|
|
that start with "__vt.", and turn them into variables, since the
|
|
g++ compiler is incapable of doing this.
|
|
* tc-vax.c: Add '1' option for backward compatibility with older GCC
|
|
versions.
|
|
* bignum-copy.c (bignum_copy): Fix bug where we pad with zeroes.
|
|
* input-scrub.c (as_where): Fix bug where as would crash if we did not
|
|
have the name of the source file yet.
|
|
* config/ho-vms.h: define HO_VMS, not HO_VAX.
|
|
|
|
Mon Jan 4 05:17:26 1993 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* read.c (s_data): Always use "data_section", since it'll map to
|
|
SEG_DATA or SEG_E1 if needed.
|
|
(s_lcomm): Likewise with bss_section.
|
|
(s_fill): Use memset, not bzero.
|
|
|
|
Thu Dec 31 04:29:27 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* read.c: Deleted some code under "#ifdef DONTDEF" that was for
|
|
handling GDB symbol table data.
|
|
|
|
* config/obj-aout.h (segment_name): Delete definition.
|
|
(seg_name): Delete declaration.
|
|
* config/obj-bout.h (segment_name, seg_name): Ditto.
|
|
* config/obj-vms.h (segment_name, seg_name): Ditto.
|
|
* config/obj-coff.h (segment_name): Ditto.
|
|
* config/obj-coffbfd.h (segment_name): Ditto.
|
|
|
|
* Changes for BFD_ASSEMBLER:
|
|
* obj.h (obj_crawl_symbol_chain): Declare only if not
|
|
BFD_ASSEMBLER.
|
|
(obj_header_append, obj_pre_write_hook): Ditto.
|
|
* as.h (stdoutput): New var, defined only if BFD_ASSEMBLER.
|
|
(segT) [BFD_ASSEMBLER]: New typedef for "asection *".
|
|
(segment_name) If BFD_ASSEMBLER, look up BFD section name;
|
|
otherwise, use seg_name array.
|
|
(seg_name): Declare only if not BFD_ASSEMBLER.
|
|
(section_alignment): Declare only if not BFD_ASSEMBLER.
|
|
(big_section, reg_section, pass1_section, diff_section,
|
|
absent_section, text_section, data_section, bss_section): If
|
|
BFD_ASSEMBLER, declare as variables; otherwise, declare as macros,
|
|
mapping to segT enum values.
|
|
(tc_aout_fix_to_chars, next_object_file_charP): Force parse errors
|
|
if these are used or defined, if BFD_ASSEMBLER.
|
|
(subseg_set, subseg_new) [BFD_ASSEMBLER]: Functionality of old
|
|
subseg_new split into two functions.
|
|
(SEG_NORMAL): For BFD_ASSEMBLER, always return true, for now.
|
|
|
|
* as.h (volatile): Don't define if already defined.
|
|
(had_errors, had_warnings): Provide prototypes for ANSI C even if
|
|
NO_STDARG.
|
|
(as_bad, as_fatal, as_tsktsk, as_warn): For GNU C version 2,
|
|
declare with format attribute for -Wformat checking.
|
|
|
|
Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* app.c, config/tc-*.c: Don't include read.h, since it is already
|
|
included by as.h.
|
|
|
|
* These are based on patches from Minh Tran-le
|
|
<mtranle@paris.intellicorp.com>.
|
|
* configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
|
|
obj_format coffbfd and gas_target i386coff for target.
|
|
(i[34]86-*-isc*): New host (uses sysv).
|
|
* config/i386aix.mt: Removed (no longer used).
|
|
* config/mh-i386aix (RANLIB): Use true rather than /bin/true.
|
|
(MINUS_G): Removed.
|
|
(LDFLAGS): Added, defined as -shlib.
|
|
* config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
|
|
* config/te-sco386.h (LOCAL_LABEL): Don't define.
|
|
(DOT_LABEL_PREFIX): Define.
|
|
* expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
|
|
name rather than L0\001.
|
|
* read.c (s_lcomm): Make a frag in SEG_BSS rather than using
|
|
local_bss_counter.
|
|
* symbols.c, symbols.h (local_bss_counter): Removed.
|
|
* write.c (write_object_file): bss no longer uses
|
|
local_bss_counter. Pass correct data and bss size to
|
|
VMS_write_object_file.
|
|
* config/obj-vms.c (VMS_write_object_file): Accept bss size as
|
|
argument, rather than using local_bss_counter.
|
|
* config/tc-m88k.c (s_bss): Don't use local_bss_counter.
|
|
* config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
|
|
* config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
|
|
(size_section): Restored sanity check.
|
|
(do_relocs_for): Base section address on s_paddr rather than
|
|
computing it. Adjust a29k R_IHIHALF special case to account for
|
|
section paddr (used to require paddr to be zero). If there are no
|
|
reclos, set s_relptr to 0. Set relocation size in object_headers.
|
|
(fill_section): Always set s_vaddr here, removing
|
|
ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
|
|
NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
|
|
Set STYP_INFO for .comment.
|
|
(coff_header_append): Use object headers and H_{SET,GET}_* macros.
|
|
Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
|
|
(crawl_symbols): Handle 8 character section name correctly. Use
|
|
H_{SET,GET}_* macros.
|
|
(do_linenos_for): Set lineno size in object_headers.
|
|
(write_object_file): Use H_{SET,GET}_* macros. Don't bother to
|
|
set s_vaddr here. If string_byte_count remains 4, set it back to
|
|
0, and only write strings out if there are some. Call
|
|
fill_section before do_relocs_for and do_linenos_for.
|
|
(obj_coff_section): Handle optional quoted second argument giving
|
|
section characteristics.
|
|
(obj_coff_bss): Added to handle .bss.
|
|
(obj_coff_ident): Added to handle .ident (puts string in .comment
|
|
section).
|
|
(obj_coff_lcomm): Put common symbols in .bss, not .data.
|
|
(fixup_mdeps): Change to segment. Call frag_wane after
|
|
md_convert_frag.
|
|
(fixup_segment): Explicitly check S_IS_COMMON before making 386
|
|
adjustment (already happened only for common symbols, but this is
|
|
clearer).
|
|
* config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
|
|
* config/tc-i386.c (s_bss): Don't use if I386COFF.
|
|
(md_pseudo_table): Ignore .optim and .noopt.
|
|
(tc_coff_sizemachdep): New function.
|
|
* config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
|
|
compatibility.
|
|
(LOCAL_LABEL): Removed definition.
|
|
(DOT_LABEL_PREFIX): Defined.
|
|
|
|
Mon Dec 28 10:32:05 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* app.c (app_push): Use memcpy, not bcopy.
|
|
(do_scrub_next_char): For \", return " not '.
|
|
(symbol_chars): Now const.
|
|
|
|
* expr.c (operand): If not LOCAL_LABELS_FB, don't look for "0f"
|
|
and "0b". If LOCAL_LABELS_DOLLAR, check for "0$".
|
|
|
|
* config/obj-coff.h: Don't use #elif.
|
|
|
|
* config/ho-sunos.h: Don't include sys/stdtypes.h; 4.0.3 doesn't
|
|
have it. (Reported by Noah Friedman, friedman@gnu.ai.mit.edu.)
|
|
|
|
Wed Dec 16 12:12:33 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* write.c, obj-ieee.c: don't define SUB_SEGMENT_ALIGN if it is
|
|
already defined.
|
|
|
|
Tue Dec 15 12:40:11 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* app.c (do_scrub_begin): allow single quote strings if so
|
|
configured.
|
|
|
|
* config/*z8k*: checkpoint
|
|
|
|
Sun Dec 13 00:04:38 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* read.c (read_a_source_file): avoid calling xmalloc (0).
|
|
|
|
Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* listing.c: Call xmalloc, not malloc; don't declare malloc.
|
|
|
|
* Changes to support SCO 3.2v4:
|
|
* read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
|
|
SEG_BSS, fill with NOP_OPCODE.
|
|
* config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
|
|
* config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
|
|
using ZERO_BASED_SEGMENTS.
|
|
(fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
|
|
never set segment address for SEG_E2 (.bss) and don't write out
|
|
SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
|
|
(obj_coff_endef): Don't merge labels or symbols awaiting forward
|
|
definitions, and don't merge tags with non-tags. Check for .bf
|
|
rather than just checking whether the second character is b and
|
|
the third character is f.
|
|
(obj_coff_val): gcc can generate values which we don't handle
|
|
correctly; discard information for now, since it only affects the
|
|
debugging information.
|
|
(tag_find_or_name): Don't insert tags in the symbol table.
|
|
(yank_symbols): Don't merge labels.
|
|
(write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
|
|
already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
|
|
set segment address if ZERO_BASED_SEGMENTS.
|
|
(obj_coff_section): Accept and ignore a trailing quoted string, as
|
|
used in AT&T i386 syntax.
|
|
(fixup_segment): Take segment as argument. On the i386, adjust PC
|
|
relative addends by the segment vaddr.
|
|
* tc-i386.h: Define SUB_SEGMENT_ALIGN.
|
|
* tc-a29k.h: Define ZERO_BASED_SEGMENTS.
|
|
* tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
|
|
|
|
Tue Dec 8 00:06:48 1992 Ken Raeburn (raeburn@rtl.cygnus.com)
|
|
|
|
* config/obj-coffbfd.c: Include libcoff.h.
|
|
|
|
* version.c: Now version 1.93.
|
|
|
|
Mon Dec 7 00:39:09 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-i386.c (md_pseudo_table): For 386bsd and linux, do
|
|
power-of-two alignment for .align.
|
|
|
|
* as.h: If BROKEN_ASSERT, just redefine `assert' to be trivial,
|
|
and leave everything else alone.
|
|
|
|
Fri Dec 4 16:58:42 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* Makefile.in (as.new): Don't bother saving as.old.
|
|
|
|
* write.c: Conditionalize on OBJ_VMS, not VMS.
|
|
(magic_number_for_object_file): Don't define if OBJ_VMS.
|
|
|
|
* config/obj-vms.c: Changes for traditional C.
|
|
|
|
Thu Dec 3 01:24:07 1992 Ken Raeburn (raeburn@kr-pc.cygnus.com)
|
|
|
|
* config/ho-generic.h (malloc, realloc): Declare.
|
|
|
|
* Lots of comment/whitespace changes.
|
|
|
|
* write.h (struct fix): Some fields reordered, narrowed.
|
|
|
|
* read.c (MASK_CHAR): Define using C types, not magic number.
|
|
|
|
* as.c, input-file.c: Deleted some unused code.
|
|
|
|
* app.c, as.h: Doc fix.
|
|
|
|
* flonum-konst.c, flonum-mult.c: Include ansidecl.h.
|
|
|
|
* as.h (xmalloc): Argument is long.
|
|
|
|
* xmalloc.c (error): Remove declaration; as.h takes care of it.
|
|
|
|
* doc/as.texinfo: Regrouped documentation of some command-line
|
|
options. Updated options documentation for m68k. Some minor
|
|
wording/punctuation changes.
|
|
|
|
Mon Nov 30 11:42:11 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* configure.in: Accept target OS "vms".
|
|
|
|
* symbols.c: Merged ANSI and non-ANSI function decls, using
|
|
PARAMS macro.
|
|
|
|
* xmalloc.c: Just include as.h, don't bother trying to figure out
|
|
other header files.
|
|
|
|
* strstr.c, strerror.c: Deleted.
|
|
* Makefile.in: Deleted references.
|
|
|
|
* config/tc-ns32k.c: Don't include header file for string
|
|
declarations; leave that to ho-*.h.
|
|
|
|
Fri Nov 27 04:11:36 1992 Ken Raeburn (raeburn at cambridge-laptop.cygnus.com)
|
|
|
|
* config/coff_gnu.h [TC_I860]: Guesses for reloc type values,
|
|
imported from FSF sources.
|
|
|
|
* messages.c (strerror): Declare unconditionally.
|
|
|
|
* as.h: Delete alloca and register definitions.
|
|
|
|
* config/atof-ieee.c (mask): Now const.
|
|
|
|
* obstack.c, obstack.h: Deleted.
|
|
|
|
* as.h (flag_readonly_data_in_text): New flag.
|
|
* as.c (main): Set it for -R.
|
|
|
|
* as.h (flag_suppress_warnings): New flag.
|
|
* as.c (main): Set it for -W.
|
|
* messages.c (as_warn): Check it instead of flagseen['W'].
|
|
|
|
* as.h (flag_always_generate_output): New flag.
|
|
* as.c (main): Set it for -Z.
|
|
|
|
* config/tc-sparc.h: Define NEED_FX_R_TYPE.
|
|
* config/tc-a29k.h: Ditto.
|
|
* write.h (struct fix): Don't conditionalize fx_r_type field on TC
|
|
macros.
|
|
|
|
* as.h: Merged ANSI and non-ANSI function decls, using PARAMS
|
|
macro.
|
|
* bignum.h, expr.h, flonum.h, frags.h, input-file.h, listing.h,
|
|
obj.h, output-file.h, read.h, struc-symbol.h, symbols.h, tc.h,
|
|
write.h: Likewise.
|
|
* read.c: Likewise.
|
|
|
|
* xmalloc.c: Conditionalize on HAVE_MALLOC_H, not USG. Fold in
|
|
xrealloc from xrealloc.c.
|
|
* xrealloc.c: Deleted.
|
|
* Makefile.in (REAL_SOURCES, OBJS): Adjusted.
|
|
|
|
* configure.in: For host CPU a29k, rs6000, vax, consider using bsd
|
|
or vms ho- files.
|
|
|
|
* config/ho-sysv.h (setbuffer, HO_USG): Deleted.
|
|
|
|
* config/atof-ieee.c (atof_ieee): Exponent field isn't a pointer;
|
|
don't initialize it with NULL.
|
|
|
|
* config/ho-vax.h (M_VAX): Deleted; was unused.
|
|
|
|
* README-vms, config/ho-vms.h, config/obj-vms.c, config/obj-vms.h:
|
|
New files imported from FSF version, contributed by Eric Youngdale.
|
|
* README-vms-dbg, config/vms: Deleted.
|
|
|
|
* ChangeLog, config/ChangeLog: Merged.
|
|
|
|
* config/*tahoe*, configure.in: Tahoe support brought in from FSF
|
|
version.
|
|
|
|
* input-file.c (input_file_open): Eliminate call to setvbuf.
|
|
[USG] (setbuffer): Deleted macro.
|
|
|
|
Mon Nov 23 11:00:16 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* all files: Whitespace changes for GNU indentation style, done by
|
|
GNU `indent'. Some cleanup still needed, especially of comments.
|
|
|
|
* configure.in: No te-386bsd.h file exists; don't try to use it.
|
|
|
|
* obj-coff.c (obj_coff_endef): Use as_warn, not fprintf.
|
|
|
|
* tc-m68k.c (md_assemble): Don't complain about 68000 with 68881;
|
|
could be doing emulation.
|
|
|
|
Thu Nov 19 11:47:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
z8000 documentation
|
|
* doc/Makefile.in, doc/all.m4, doc/as-all.texinfo, doc/as.texinfo:
|
|
all modified.
|
|
|
|
Tue Nov 10 09:49:24 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in (as.o, obj-format.o): added dependency on subsegs.h.
|
|
|
|
* subsegs.h: add extern to segment_info declaration.
|
|
|
|
* read.h: added extern declarations for comment_chars,
|
|
line_comment_chars, and line_separator_chars.
|
|
read.c, app.c: removed definitions of comment_chars,
|
|
line_comment_chars, and line_separator_chars.
|
|
|
|
* tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
|
|
still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
|
|
the register name.
|
|
(insert_reg): put REGISTER_PREFIX before register names before
|
|
putting them in the symbol table.
|
|
* tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
|
|
M68KCOFF.
|
|
|
|
* obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
|
|
section.
|
|
|
|
* atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
|
|
comment_chars, line_comment_chars and line_seperator_chars
|
|
consistently const, and always initialized them. Included read.h.
|
|
|
|
Thu Nov 5 17:55:41 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* tc-sparc.c (sparc_ip): Add code to flag error if an absolute
|
|
constant will not fit in an immediate field.
|
|
(md_apply_fix, RELOC_BASE13 case): Check for relocation overflow.
|
|
|
|
Wed Nov 4 07:50:46 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* obj-coff.c (callj_table): Delete global variable.
|
|
(obj_emit_relocations): Define it locally here, and only if
|
|
TC_I960 is defined.
|
|
|
|
* tc-m68k.c (m68k_reg_parse): Underscore is part of a symbol name.
|
|
(m68k_ip): Don't warn about bignum used as float bit-pattern.
|
|
|
|
* obj-coff.c: Replaced ANSI and non-ANSI function declarations
|
|
with a single set using PARAMS macro.
|
|
|
|
* tc-i960.c (tc_bout_fix_to_chars): Bit-field fixups want a length
|
|
of 2.
|
|
|
|
* tc-i960.c: Missed a couple of 0->NO_RELOC conversions.
|
|
|
|
* tc-i960.h (N_BALNAME, N_CALLNAME): Define as char-type values,
|
|
so widening works consistently.
|
|
|
|
Wed Oct 28 08:52:34 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* version.c: Put conditional "const" before version_string, not
|
|
before dummy function for VMS. Now version 1.91.03.
|
|
|
|
* app.c (do_scrub_next_char): Need double-\ before `000' to show
|
|
printed rep of null character.
|
|
|
|
Fri Oct 23 14:40:38 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* obj-coffbfd.c (write_object_file): check return value of
|
|
bfd_close_all_done.
|
|
|
|
Tue Oct 20 12:18:08 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Support for i386-sysv.
|
|
obj-coffbfd.c (do_relocs_for, write_object_file): set segment
|
|
addresses to reasonable sizes. New define ZERO_BASED_SEGMENTS can
|
|
be used to set them all to zero as was done before.
|
|
(fill_section): segment addresses now set in write_object_file.
|
|
(fill_section): Don't set STYP_NOLOAD for .bss section.
|
|
(fixup_segment): 386 uses strange common symbol format.
|
|
tc-i386.c (tc_coff_fix2rtype): use R_DIR32, not R_RELLONG, for
|
|
compatibility with SVR3.2 linker.
|
|
* configure.in: i386-sysv and i386-sco use coffbfd.
|
|
|
|
* app.c (do_scrub_next_char): discard whitespace after a label.
|
|
|
|
Sat Oct 10 12:33:45 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* configure.in: differentiate between SunOS 4 and Solaris2 for Sun4
|
|
hosts, use the sysv configuration for solaris2
|
|
|
|
Mon Oct 5 09:28:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
fix i960+non-bfd coff bit rot.
|
|
* obj-coff.c (c_dot_file_symbol, obj_coff_ln, obj_coff_line):
|
|
support for C source listings. (obj_coff_endef): look in the right
|
|
part of the symbol for the symbol name
|
|
|
|
* tc-m68k.c (get_num): make it work for all segments, not just the
|
|
first three.
|
|
|
|
Mon Oct 5 03:30:36 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
|
|
|
|
* configure.in: recognize i386-*-bsd emulation.
|
|
|
|
Thu Oct 1 23:05:12 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
|
|
|
* configure.in: use the cpu-vendor-os triple for host and target
|
|
|
|
Tue Sep 29 12:22:52 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* obj-coffbfd.c (write_object_file): don't fixup for the z8k
|
|
* tc-z8k.c: lots of bug fixes
|
|
|
|
Tue Sep 29 10:51:55 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* tc-i960.h, tc-i960.c: avoid the ANSI preprocessor addition
|
|
#elif, since it is not supported by old compilers.
|
|
ho-rs6000.h, tc-m68k.c: the native RS/6000 compiler miscompiles a
|
|
couple of expressions in tc-m68k.c.
|
|
|
|
Mon Sep 28 21:18:24 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* read.c (cons): If NO_RELOC is defined, use it.
|
|
|
|
* tc-i960.c (get_cdisp): Use NO_RELOC, not 0, in call to fix_new.
|
|
|
|
Fri Sep 25 18:18:52 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* tc-m68k.h: if M68KCOFF, define DOT_LABEL_PREFIX (to require
|
|
local labels to start with a .) and set REGISTER_PREFIX to %.
|
|
tc-m68k.c (m68k_reg_parse): accept REGISTER_PREFIX if defined.
|
|
|
|
Fri Sep 25 17:53:43 1992 John Gilmore (gnu@cygnus.com)
|
|
|
|
* messages.c: Comment changes.
|
|
|
|
Fri Sep 25 14:12:58 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
|
|
|
|
* as.h: Test if __STDC__ is defined only, don't test its value.
|
|
* messages.c: If __STDC__ is not defined, define NO_STDARG.
|
|
|
|
Thu Sep 24 12:42:32 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
|
|
|
|
* listing.c (debugging_pseudo): Add stabs and stabn as things to
|
|
ignore.
|
|
|
|
Tue Sep 22 13:02:07 1992 Sean Eric Fagan (sef@cygnus.com)
|
|
|
|
* obj-coffbfd.c (do_relocs_for,fill_section): now allocate all
|
|
sections starting from zero, rather than making them consecutive.
|
|
This makes subsequent reloc calculations easier, esp if the object
|
|
format doesn't understand addends. (obj_coff_lcomm): (maybe temporarily)
|
|
allocate lcomm in .data rather than in .bss. It seems that some
|
|
tools can't cope with a non-zero sized bss before linkage.
|
|
|
|
Tue Sep 22 15:10:51 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* tc-m68k.c: Replace "enum m68k_architecture" with "int"
|
|
throughout. That enum no longer means what we thought it meant.
|
|
|
|
* tc-m68k.c (md_assemble, md_parse_option): Handle new
|
|
"-mno-688[58]1" options.
|
|
|
|
* tc-m68k.c: Added CPU32 support.
|
|
|
|
Fri Sep 18 08:02:18 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* tc-m68k.c (m68k_ip): An(disp) is not pc relative.
|
|
|
|
Tue Sep 15 17:25:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* Makefile.in (as.new): Remove dependence on LOCAL_LOADLIBES.
|
|
Change LIBDEPS dependence to LIBS.
|
|
|
|
Tue Sep 15 15:32:02 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in (install): if $(tooldir) exists, install as in
|
|
$(tooldir)/bin.
|
|
|
|
Sun Sep 13 20:30:10 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Added WARN_SIGNED_OVERFLOW_WORD define to give an error if any
|
|
.word is < -32768 or > 32767. The -J flag causes the error to be
|
|
ignored. This is to catch over-sized switches generated by gcc on
|
|
systems which don't support the broken .word hack.
|
|
as.c (main): permit -J if WARN_SIGNED_OVERFLOW_WORD.
|
|
write.c (fixup_segment): check for signed .word overflow if
|
|
WARN_SIGNED_OVERFLOW_WORD.
|
|
|
|
* write.c (fixup_segment): fixed missing parens in expression
|
|
checking for byte or word overflow.
|
|
|
|
* obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
|
|
obj-coffbfd.c (fixup_segment): check for signed .word overflow if
|
|
WARN_SIGNED_OVERFLOW_WORD.
|
|
|
|
* obj-coffbfd.c (fixup_segment): fixed missing parens in
|
|
expression checking for byte or word overflow.
|
|
|
|
Fri Sep 11 10:21:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
Support for i386 coff
|
|
* obj-coffbfd.h : added stuff
|
|
* tc-i386.c (tc_coff_fix2rtype): new function
|
|
* tc-i386.h : new coff defines
|
|
|
|
Thu Sep 10 09:23:15 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* input-scrub.c (input_scrub_push): call input_file_begin, not
|
|
input_scrub_begin.
|
|
messages.c (as_perror): print ": " between the passed in error and
|
|
the strerror, like perror does.
|
|
|
|
Wed Sep 9 11:06:25 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in: use gas_target instead of modifying target_cpu.
|
|
From Steve Chamberlain:
|
|
Makefile.in: Handle m68*-*-coff*.
|
|
read.c, read.h: add mult argument to s_space
|
|
|
|
* tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge
|
|
Motorola and MIT syntax; gas can now assemble either type of
|
|
file.
|
|
tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files.
|
|
From Steve Chamberlain:
|
|
m68kcoff.mt: for m68k COFF.
|
|
obj-coffbfd.c: (fixup_mdeps) added
|
|
(size_section) removed bad sanity check
|
|
(fill_section) added rs_machine_dependent case
|
|
(write_object_file) call fixup_mdeps
|
|
(fixup_segment) set fx_subsy to 0.
|
|
obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and
|
|
handle m68k.
|
|
tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala
|
|
pseudo ops.
|
|
|
|
Tue Sep 8 17:10:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* Makefile.in (LIBS): Include opcode library.
|
|
|
|
Fri Sep 4 18:20:56 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-m68k.c (get_num, case SEG_BIG): If only small integers
|
|
including zero are accepted, pass +0.0.
|
|
|
|
Sun Aug 30 21:24:46 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in: map "as" through program_transform_name when
|
|
installing.
|
|
|
|
* doc/Makefile.in: map "as" through program_transform_name when
|
|
installing.
|
|
|
|
Sat Aug 29 12:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* Makefile.in (as.new): Depend on LOCAL_LOADLIBES.
|
|
|
|
Fri Aug 28 16:25:22 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* obj-bout.h, obj-bout.c (obj_header_append, obj_symbol_to_chars),
|
|
tc-i960.c (md_ri_to_chars): Always output bout object file in
|
|
little endian byte order (used to use endianness of host).
|
|
|
|
Tue Aug 25 15:50:48 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* config/tc-m68k.c (init_table): Now const. Always include 68851
|
|
data, so that "bc" is available to 68040 cache instructions.
|
|
Added "tt0", "tt1", and 68ec030 variants.
|
|
(md_assemble): Complain if 68000 (only) and 68881 are specified.
|
|
(enum _register): Added TT0, TT1.
|
|
(m68k_ip, cases '3' and 't'): Handle new operand type codes. Pass
|
|
line number correctly in "internal error" messages. Don't print
|
|
architecture-mismatch message for operand errors.
|
|
|
|
From Colin Smith (colin@wrs.com):
|
|
* config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather
|
|
than install_operand.
|
|
|
|
Tue Aug 25 15:13:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* listing.c (buffer_line): rewind to the start of include
|
|
files, they might be included twice.
|
|
|
|
* z8k.c, z8k.h, z8k.mt: z8000 support stuff
|
|
|
|
Mon Aug 24 12:45:43 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in: defined TARGET_CPU for C code so that it can choose
|
|
one element of a family.
|
|
|
|
* tc-m68k.c: use TARGET_CPU to choose default cpu type.
|
|
|
|
* te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
|
|
so that we can assemble hand-written libgcc code.
|
|
|
|
Fri Aug 21 14:38:44 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
|
|
|
* messages.c (as_warn): Use fputs, not fprintf, with a buffer that
|
|
has already been formatted (but may still contain %-characters).
|
|
(as_bad): Likewise.
|
|
|
|
Wed Aug 19 11:20:59 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* tc-m68k.c, tc-m68kmote.c: the cas2 instruction is supposed to be
|
|
written with indirection on the last two operands, which can be
|
|
either data or address registers. Added a new operand type 'r'
|
|
which accepts either register type. Added '(' to notend stuff in
|
|
tc-m68kmote.c to accept (a0):(a2) in cas2 instruction.
|
|
|
|
Wed Aug 19 09:25:09 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* as.h (enum _relax_state): Start off at one, not zero, to better
|
|
catch uninitialized-variable errors.
|
|
(linkrelax): Declare new variable.
|
|
|
|
* messages.c (warning_count, error_count): Default initializer is
|
|
sufficient.
|
|
|
|
* write.c: Merged some declarations, using PARMS macro.
|
|
(text_frag_root, data_frag_root, bss_frag_root, text_last_frag,
|
|
data_last_frag): No longer static.
|
|
(write_object_file, case rs_align or rs_org): If HANDLE_ALIGN is
|
|
defined, call it. Change segments before calling fixup_segment.
|
|
(relax_align): If linkrelax, provide extra padding.
|
|
|
|
* obj-bout.c (obj_emit_relocations): Emit alignment relocs despite
|
|
their not having symbols associated.
|
|
|
|
* tc-i960.c (norelax, instrument_branches): Default initializer is
|
|
sufficient.
|
|
(linkrelax): Delete variable definition.
|
|
(mem_fmt): Call fix_new with NO_RELOC.
|
|
(tc_bout_fix_to_chars): Handle alignment relocs.
|
|
(i960_handle_align): New function.
|
|
* tc-i960.h (linkrelax): Delete declaration.
|
|
(HANDLE_ALIGN): New macro; calls i960_handle_align.
|
|
(NEED_FX_R_TYPE, NO_RELOC): New macros.
|
|
|
|
Tue Aug 18 14:59:21 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/sparc.mt: New file. Grab sparc opcode table from bfd
|
|
library.
|
|
|
|
Tue Aug 18 14:16:38 1992 Ian Lance Taylor (ian@cygnus.com)
|
|
|
|
* Makefile.in: always create installation directories. Removed
|
|
MINUS_G, set CFLAGS to default to -g, added FLAGS_TO_PASS, passed
|
|
FLAGS_TO_PASS to recursive makes.
|
|
|
|
* doc/Makefile.in: always create installation directories.
|
|
|
|
Mon Aug 17 15:09:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* input-scrub.c (input_scrub_pop, input_scrub_push): memcpy was
|
|
being used with args swapped, causing occasional lossage when
|
|
refilling buffers after an include file.
|
|
|
|
Mon Aug 17 13:18:51 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* messages.c (as_tsktsk): Use correct ANSI form for stdarg
|
|
version. Discard bogus DONTDEF version.
|
|
(as_warn, as_bad, as_fatal): Likewise.
|
|
|
|
Fri Aug 14 18:31:14 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-m68k.c (m68k_ip): If instruction is invalid for the
|
|
selected architecture, print a message saying so and listing what
|
|
processors support it, rather than saying "operands mismatch".
|
|
|
|
Thu Aug 13 13:53:19 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* as.h [BROKEN_ASSERT]: If defined, turn off all assertion checks.
|
|
|
|
* config/ho-rs6000.h (M_RS6000): Don't define it.
|
|
(free): Declare it.
|
|
(BROKEN_ASSERT): Define it if not __STDC__.
|
|
|
|
Tue Aug 11 12:58:14 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* sparc.mt: New file.
|
|
|
|
Mon Aug 10 14:37:08 1992 Per Bothner (bothner@cygnus.com)
|
|
|
|
* tc-m68k.c: ".align N" means align to N-byte boundary *only*
|
|
if TN_SUN3; otherwise align to 2**N-byte bounary.
|
|
|
|
Thu Aug 6 12:10:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* read.c (s_fill): make the .fill size clamped error a warn and
|
|
fix bug where 0's were always placed.
|
|
|
|
* config/tc-h8300.c: if a :8 is seen after an operand, fill top
|
|
two bytes of any constant with 0xff:
|
|
|
|
Wed Aug 5 12:02:40 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-m68k.c (md_pseudo_table): fix the .align thing
|
|
the right way; for just the 68k. Sun 3 .align is nbytes, not ptwo.
|
|
|
|
Wed Aug 5 01:54:34 1992 John Gilmore (gnu at cygnus.com)
|
|
|
|
* tc-m68k.c (try_index): Error if index scaling specified and
|
|
assembling for an older CPU than a 68020.
|
|
|
|
Sat Aug 1 19:10:13 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* config/tc-sparc.c (tc_aout_fix_to_chars): If pc-relative, take
|
|
fx_offset into account.
|
|
|
|
Fri Jul 31 21:53:28 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* configure.in (mips host): Accept "ultrix" with version number.
|
|
|
|
* expr.c (floating_constant): Separate "=-" to avoid confusing
|
|
ancient or broken compilers.
|
|
|
|
* config/tc-m68k.c (m68k_ip): Mismatch error could also indicate
|
|
processor/opcode mismatch, so reword the error message.
|
|
(md_assemble): If no CPU has been set (even if FPU/PMMU
|
|
characteristics have been), default to 68020. Don't need extra
|
|
quotes around error string.
|
|
|
|
Fri Jul 31 12:26:34 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* read.c (potable): Revert sac's incorrect change made Jul 13.
|
|
Align really is supposed to be ptwo not nbytes.
|
|
|
|
Mon Jul 20 02:51:59 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
|
|
|
|
* Makefile.in: _Do_ include libiberty. (from sef)
|
|
|
|
Fri Jul 17 15:15:28 1992 Ken Raeburn (raeburn@cygnus.com)
|
|
|
|
* expr.c (integer_constant): Handle "0f" and "0b" label references
|
|
properly.
|
|
|
|
Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* write.c (fixup_segment): if relaxing, don't do anything.
|
|
* config/obj-bout.[ch] : maintain the a_relaxable file header info
|
|
* config/tc-i960.c: new option -linkrelax
|
|
|
|
Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* expr.c (expr): allow SEG_BSS in expressions
|
|
* read.c (potable): align should be nbytes, not ptwo!
|
|
* write.c (write_object_file): extra glue for new bss attributes
|
|
(relax_segment): SEG_BSS is ok now
|
|
* config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
|
|
|
|
Mon Jul 6 17:09:32 1992 Steve Chamberlain (sac@cygnus.com)
|
|
|
|
* obj-coffbfd.c (fill_section): mark .lit sections as STYP_LIT
|
|
|
|
Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
|
|
|
|
* configure.in: recognize m680x0 as having sun3 emulation mode for
|
|
vxworks environment.
|
|
|
|
|
|
Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
|
|
|
|
* Makefile.in: Add program_suffix (parallel to program_prefix)
|
|
|
|
Wed Jun 24 10:57:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* app.c (process_escape): new function to handle escapes the right
|
|
way, (do_scrub_next_char): use new function
|
|
* cond.c (s_ifdef): do ifdef/ifndef right
|
|
* read.c (s_fill): make the , expressions optional like the doc
|
|
says
|
|
* config/tc-h8300.[ch]: better warnings
|
|
|
|
Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* subsegs.c (subsegs_begin): create bss0_frchainP in the same was
|
|
as data0_frchainP
|
|
|
|
* write.c (write_object_file): various changes to handle data in
|
|
the BSS segment in much the same was as stuff in the DATA segment.
|
|
|
|
* tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
|
|
pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
|
|
68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
|
|
the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
|
|
it into SEG_BSS
|
|
|
|
Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* expr.c(expr): allow SEG_REGISTER in expressions.
|
|
* read.c(pseudo_set): register expressions can be the source of a
|
|
set.
|
|
* subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
|
|
goto SEG_TEXT (if a.out)
|
|
* write.c (write_object_file): If a.out don't use the old way for
|
|
-R.
|
|
* config/obj-a.out (s_sect): complain if the user tries to use a
|
|
subsegment with a value which might interfere with out -R hackery.
|
|
* config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
|
|
rather than use ugly if tree. (init_regtable): insert register
|
|
names into symbol table.
|
|
|
|
Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
|
|
|
|
* write.c (write_object_file): keep the fix_tail clean, which
|
|
fixes a bug in -R where relocations were being lost.
|
|
|
|
Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
|
|
|
|
* configure.in: recognize m680x0 as having sun3 emulation mode for
|
|
vxworks environment.
|
|
|
|
Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
|
|
|
|
* configure.in: recognize m680x0 as an m68k
|
|
|
|
Thu May 28 11:22:02 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
|
|
|
|
* configure.in: Recognize sparclite as a sparc variant.
|
|
|
|
* tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
|
|
-Asparclite flag.
|
|
|
|
Tue May 26 16:47:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* config/tc-a29k.c: lint
|
|
* listing.c, expr.c: patches from Andrew Smith
|
|
|
|
Thu May 14 17:22:48 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
|
|
|
* doc/Makefile.in: use m4 rather than gm4.
|
|
|
|
Mon May 4 18:56:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* obj-coffbfd.c: use is a synonym for section, (do_relocs_for):
|
|
calc the base of relocs correctly.
|
|
* tc-a29k.c (parse_operand): allow expressions to be in any section.
|
|
|
|
Mon Apr 27 13:13:31 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* as.c, write.c: use -K rather than -k for the broken word warning
|
|
option.
|
|
|
|
Tue Apr 21 13:35:30 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* Makefile.in: do not print recursion lines.
|
|
|
|
Wed Apr 15 21:19:31 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
|
|
|
* Makefile.in: the tooldir copy of gas goes directly in tooldir.
|
|
|
|
Tue Apr 14 14:50:22 1992 Ken Raeburn (Raeburn@Cygnus.COM)
|
|
|
|
* write.c (write_object_file): For b.out format, round up section
|
|
start addresses to match required alignment.
|
|
|
|
Thu Apr 9 05:45:29 1992 Ken Raeburn (Raeburn@Cygnus.COM)
|
|
|
|
* Makefile.in (install): Install into $(tooldir)/bin, since that's
|
|
where gcc looks for it.
|
|
|
|
Tue Apr 7 15:12:15 1992 Sean Eric Fagan (sef@cygnus.com)
|
|
|
|
* Makefile.in: Changed some lines to be less confusing for some
|
|
makes.
|
|
|
|
* input-file.c: Conditionalize on _IOFBF, not VMS.
|
|
|
|
* read.c, write.c: Change a series of ifdef/elif to
|
|
ifdef/else/ifdef etc.
|
|
|
|
Fri Mar 27 12:21:16 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* symbols.c (fb_label_init): fix sizeof to memset.
|
|
|
|
Fri Mar 13 15:45:44 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* Makefile.in: install the man page.
|
|
|
|
* Makefile.in: pass down MAKEINFO explicitly on info.
|
|
|
|
* doc/Makefile.in: use $(MAKEINFO) not makeinfo.
|
|
|
|
Fri Mar 13 08:03:03 1992 Steve Chamberlain (sac@thepub.cygnus.com)
|
|
|
|
* flonum-const.c: renamed flonum-konst.c to stop dos name
|
|
conflict.
|
|
|
|
Thu Mar 12 04:42:38 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* tc-m68k.h, te-sun3.h: moved LOCAL_LABELS_FB definition from
|
|
tc-m68k.h to te-sun3.h.
|
|
|
|
Wed Mar 11 23:32:42 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* configure.in: vxworks68 gets te-sun3.h.
|
|
|
|
* expr.c: remove limitation that local_labels_dollar or
|
|
local_labels_fb must be < 10.
|
|
|
|
* symbols.c: remove local_labels_dollar, replace with a function
|
|
interface for a sparse array. All users adjusted.
|
|
|
|
* te-sun3.h: add LOCAL_LABELS_DOLLAR.
|
|
|
|
Sat Mar 7 00:06:25 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
|
|
|
* doc/Makefile.in: commented out line for building as-all.texinfo.
|
|
This is temporary.
|
|
|
|
* doc/as.texinfo, doc/as-all.texinfo: added menu item hooks.
|
|
|
|
Fri Mar 6 21:57:18 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* Makefile.in: added check target.
|
|
|
|
Tue Mar 3 15:45:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
|
|
|
* Makefile.in: added tooldir and program_prefix.
|
|
|
|
Sun Mar 1 04:43:19 1992 Michael Tiemann (tiemann@cygnus.com)
|
|
|
|
* write.{c,h} (fix_new): Make these declarations consistent.
|
|
|
|
Sat Feb 29 13:59:10 1992 Michael Tiemann (tiemann@cygnus.com)
|
|
|
|
* Makefile.in (strerror.o): Add rule so that broken Sun make can
|
|
work in subdirs.
|
|
|
|
Wed Feb 26 19:26:28 1992 Steve Chamberlain (sac at thepub.cygnus.com)
|
|
|
|
* read.c, obj-coffbfd.c : fix h8300 specific bit rot
|
|
|
|
* expr.c (operand): if can't work out what sort of operand it is,
|
|
then look through FLT_CHARS for a hint.
|
|
|
|
Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* Makefile.in, configure.in: removed traces of namesubdir,
|
|
-subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
|
|
copyrights to '92, changed some from Cygnus to FSF.
|
|
|
|
* doc/Makefile.in, doc/configure.in: removed traces of namesubdir,
|
|
-subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
|
|
copyrights to '92, changed some from Cygnus to FSF.
|
|
|
|
Tue Feb 25 14:17:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
|
|
|
|
* expr.c: If an expression is single comma, then return with
|
|
SEG_ABSENT rather than an error - since the sparc front end does
|
|
really strange things with things like fbge,a
|
|
|
|
* as.h: include bfd.h if using many sections
|
|
* expr.c: LOCAL_LABELS_FB had been changed to lower case - so
|
|
local labels didn't work.
|
|
* listing.c (list_symbol_table): don't core dump when there's no
|
|
symbol there.
|
|
* write.c, write.h: call fix_new with the right number of args on
|
|
the H8.
|
|
* config/tc-h8300.[ch] : fix bugs reported by HMSI, and make
|
|
errors nices
|
|
|
|
Sat Feb 22 12:26:28 1992 Steve Chamberlain (sac at rtl.cygnus.com)
|
|
|
|
* app.c: MRI compatibility - allow single quote to start a string.
|
|
* as.c: fix typo recently introduced.
|
|
* as.h : Don't include aout/reloc.h - it's not right for COFF!
|
|
* expr.c: Much rewriting, to accomodate MRI syntax for
|
|
expressions. Also easier to read now.
|
|
* listing.c: Put back defuns
|
|
* read.c: modified to accept MRI syntax, put back listing pseudo
|
|
ops so that an assembler built with NO_LISTING ignores list ops
|
|
rather than pukes.
|
|
* write.c, write.h: fixs - only keep a reloc type in a fix if the target
|
|
machine is a SPARC or a 29K.
|
|
* config/obj-aout.c: added s_sect pseudo op
|
|
* config/obj-coffbfd.c: lints, set the filehdr flags right and
|
|
fill in the timestamp.
|
|
* config/obj-coffbfd.h: Since we don't include aout/reloc.h
|
|
anymore, define all the relocs which the tc-<x> bit will use so we
|
|
can translate from them to the coff types.
|
|
* config/tc-a29k.c: reloc_type isn't ane enum any more
|
|
* config/tc-m68k.c: Added NO_RELOC definition.
|
|
|
|
Fri Feb 21 06:21:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
|
|
|
* Makefile.in: put header files before C source for TAGS; remove
|
|
references to non-existent syscalls.h.
|
|
|
|
* read.c, write.c subsegs.c: back out the .bss changes.
|
|
|
|
* obj-aout.c: do not include stab.gnu.h if NO_LISTING.
|
|
|
|
* tc-i860.c, a.out.gnu.h: move i860 relocs to a proper place.
|
|
|
|
* a.out.h: removed.
|
|
|
|
Fri Feb 21 01:08:48 1992 Minh Tran-Le (TRANLE@INTELLICORP.COM)
|
|
|
|
* symbols.c (local_label_name): symbols now start with ^A.
|
|
|
|
* read.c, subsegs.c, write.c obj-coff.c: added handling of
|
|
`.bss` pseudo op for unitialized data. The new gcc (1.37.9x)
|
|
generate these sections. .align: will use NOP_OPCODE or 0
|
|
for padding. This is just for being nice to the
|
|
disassembler.
|
|
|
|
* expr.c (operand): changed to generate local label "\001L0"
|
|
starting with a ^A so that it is recognized as a local label.
|
|
|
|
* as.c (perform_an_assembly_pass): zero bss_fix_root, too.
|
|
|
|
* tc-i386.c: tc-i386.c: added handling of the following opcodes:
|
|
i/o opcodes - inb, inw, outb and outw. string manipulation with
|
|
att syntax - scmp, slod, smov, ssca, ssto.
|
|
|
|
* obj-coff.c: (for aix386) Moved the symbols .text, .data and .bss
|
|
to just after .file .
|
|
|
|
In obj_crawl_symbol_chain() where it tries to put the external
|
|
symbols apart, with the condition:
|
|
(!S_IS_DEFINED(symbolP) &&
|
|
!S_IS_DEBUG(symbolP) &&
|
|
!SF_GET_STATICS(symbolP))
|
|
it was moving too many symbols out. So I switch it back to the
|
|
condition:
|
|
(S_GET_STORAGE_CLASS(symbolP) == C_EXT && !SF_GET_FUNCTION(symbolP))
|
|
|
|
In obj_emit_relocations() added the conditional on KEEP_RELOC_INFO
|
|
so that we don't use the F_RELFLG which make the linker complain
|
|
that somebody has stripped the relocation info.
|
|
|
|
Also, the AIX ld program require that the relocation table
|
|
is sorted by r_vaddr like the standard ATT assembler does.
|
|
|
|
[he also changed the sizeof(struct ...)'s into the coff
|
|
style FOOSZ macros. I'm not sure this is right, but I can't
|
|
remember why. xoxorich.]
|
|
|
|
Fri Feb 21 01:08:48 1992 K. Richard Pixley (rich@cygnus.com)
|
|
|
|
* Makefile.in, configure.in, doc: use the doc. Build it, install
|
|
it, clean it, etc.
|
|
|
|
Tue Feb 18 02:21:25 1992 K. Richard Pixley (rich at cygnus.com)
|
|
|
|
* read.c: white space and comments only.
|
|
|
|
* configure.in: use the new atof-ns32.c for ns32k.
|
|
|
|
* write.c: comment change only.
|
|
|
|
* tc-m88k.[hc]: pulled in from hack's unfinished work. These
|
|
aren't yet integrated.
|
|
|
|
* tc-i860.[hc]: blew off the dust. Something must still be done
|
|
about conflicting relocation types.
|
|
|
|
* tc-ns32k.c: Replaced previous tc_aout_fix_to_chars stub with the
|
|
real thing.
|
|
|
|
* tc-i960.c, tc-sparc.c: white space and comments only.
|
|
|
|
* tc-a29k.h: delete duplicate macro definition.
|
|
|
|
* new file atof-ns32k.c copied from hack's last unreleased gas.
|
|
|
|
Mon Feb 17 07:51:06 1992 K. Richard Pixley (rich at cygnus.com)
|
|
|
|
* config/tc-ns32k.c: actually make tc_aout_fix_to_chars work
|
|
rather than abort.
|
|
|
|
* nearly everything. flush ChangeLog, package as gas-1.92.1.
|
|
ChangeLog's prior to this are sketchy at best. I have logs.
|
|
They just aren't ChangeLogs.
|