X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2FChangeLog;h=cb5ea5a949849d261744d2ae3da8e1417b34b7a5;hb=f9c57637e42d17078adb2b1cb544d43426cda697;hp=2fec3335140c991e66650d96379c04376cfddd55;hpb=2bac8c544f95bdce7dc4b7ffb117f73f831d3d6c;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 2fec333514..cb5ea5a949 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,803 @@ +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 + (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