3 * configure.in (alpha-*-linux*): Use ecoff.
5 * ecoff.c (ecoff_directive_extern): New function.
6 (ecoff_directive_weakext): New function.
7 (ecoff_build_symbols): Handle weak symbols.
8 (ecoff_setup_ext): Likewise.
9 (ecoff_frob_symbol): Warn about weak common symbols.
10 * ecoff.h (ecoff_directive_extern): Declare.
11 (ecoff_directive_weakext): Declare.
12 * symbols.c (S_IS_WEAK): New function.
13 * symbols.h (S_IS_WEAK): Declare.
14 * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and
16 * config/tc-mips.c (mips_pseudo_table): Remove "extern".
21 * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
22 (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
23 (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
24 * config/obj-coff.c (coff_frob_symbol): Don't call
25 SA_SET_SYM_ENDNDX with the current symbol; call it with the next
26 one. If OBJ_XCOFF, try to figure out whether the symbol is going
29 * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
30 (ppc_stab_symbol): New static variable.
31 (ppc_change_csect): Check that ppc_toc_csect is not NULL.
32 (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set
33 sy_tc.real_name to the stab string.
34 (ppc_bc, ppc_ec): New static functions.
35 (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
37 (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
39 (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux
42 * input-scrub.c (input_scrub_push): Reset sb_index.
46 * listing.c (listing_newline): Don't create a frag in the absolute
51 * config/tc-ppc.c (md_pseudo_table): Add "data" and "text".
52 (ppc_csect): Move most of the code to ppc_change_csect, and call
54 (ppc_change_csect): New static function, taken from ppc_csect.
55 (ppc_section): New static function.
56 (ppc_saw_abs): New static varable.
57 (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if
58 a symbol has no csect.
59 (ppc_adjust_symtab): New function.
60 * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF.
61 (ppc_adjust_symtab): Declare if OBJ_XCOFF.
63 * write.c (write_object_file): If tc_adjust_symtab is defined,
64 call it just before the call to obj_adjust_symtab.
66 * symbols.c (symbol_find_or_make): Change name to be const.
67 * symbols.h (symbol_find_or_make): Update declaration.
71 * doc/as.texinfo (Align): Mention SH.
72 * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not
74 * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo.
75 (Z8000 Directives, even): Don't give numeric align value, instead
80 * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment
85 * Makefile.in (diststuff): Also make info.
86 (maintainer-clean realclean): Also make clean-info.
90 * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
91 (pa_subspace): For ".nsubspa", always create a new subspace
92 with the given attributes, even if one already exists with the
97 * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from
98 TC_FORCE_RELOCATION, taking an additional section argument. If
99 the section of the target symbol is not the same as the current
100 section, always force the relocation to be used.
101 (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section.
103 * config/tc-ppc.c (md_pcrel_from_section): Rename from the
104 md_pcrel_from function, taking an additional section argument.
105 Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION.
107 * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the
108 older TC_FORCE_RELOCATION if not defined.
109 (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from.
110 (fixup_segment): Use MD_PCREL_FROM_SECTION instead of
111 md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of
116 * input-scrub.c (as_where): Set name to null pointer if we don't
118 * messages.c (identify): Only print filename if non-null.
119 (as_show_where): Ditto, for line number too.
120 (as_warn_internal, as_bad_internal): Ditto.
122 * input-file.c (input_file_open): If the input file can't be
123 opened, consider it an error.
127 * config/tc-mips.c: Added mips_4100 control, and support for
128 accepting the 4100 as a MIPS architecture variant (md_begin,
129 macro_build, mips_ip, md_parse_option). Adding suitable
130 command-line OPTIONs, and updating the help text (md_show_usage).
134 * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when
135 BFD_ASSEMBLER is defined.
137 * Use one active frag and one obstack per frag chain:
138 * frags.c (frags): Variable deleted.
139 (frag_alloc): New function.
140 (frag_grow, frag_more, frag_variant, frag_now_fix,
141 frag_append_1_char): Refer to frchain_now->frch_obstack instead of
143 (frag_new): Ditto. Verify that frch_last and frag_now match on
144 entry and exit, and that old frag_now has non-zero type. Replace
145 "know" uses with "assert". Use frag_alloc instead of mucking with
147 * frags.h (frags): Declaration deleted.
148 * subsegs.h (struct frchain): Add new field frch_frag_now.
149 * subsegs.c (frchains, dummy_frag, absolute_frchain): New static
151 (subsegs_begin): Initialize frchains obstack. Under gcc, don't
152 give it any stricter alignment than frchainS structures need. Do
153 not initialize frags obstack. Set frag_now to point to
154 dummy_obstack. Initialize absolute_frchain.
155 (subseg_set_rest): Save and restore frag_now in frch_frag_now
156 field of frchainS. Don't create new frags on section switch, and
157 use frag_alloc when creating a new frag chain. For absolute
158 section, set frchain_now to absolute_frchain. Verify that
159 frch_last and frag_now match on entry and exit. Initialize
160 per-chain obstack, and under gcc, set required alignment to that
161 needed by fragS structure.
163 * write.c (chain_frchains_together_1): Verify fr_type is nonzero.
165 * stabs.c (get_stab_string_offset): Only copy input string if a
166 fresh copy is needed, not if the section already exists.
167 (s_stab_generic): Cache stab section name to bypass lookups, since
168 usually it will match. Could be made faster still by changing the
169 memory allocation rules.
170 (s_xstab): Cache section name to bypass repeated string
173 * frags.c (frag_new): Deleted register declarations.
175 * listing.c (frag_now): Don't declare.
177 * as.c (chunksize): New variable.
178 (debug_memory): New variable.
179 (main): If debug_memory is set, reduce chunksize and
181 * as.h (chunksize): Declare it.
182 * read.c (read_begin): Use it.
184 * config/tc-alpha.c (md_shortopts): Include 'g'.
185 (md_parse_option): Ignore it.
187 * Makefile.in (distclean): Remove Makefile and config.status from
189 (clean-here): Don't delete testsuite. Instead, delete only the
190 files within it that would be generated by running tests.
192 * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call
193 frag_now_fix instead of accessing obstack info directly.
194 * config/tc-arm.c (s_ltorg): Ditto.
195 (md_assemble): Ditto.
197 * config/tc-i386.c (md_assemble): Call frag_grow instead of
202 * stabs.c (aout_process_stab): Insert debug symbol into symbol
203 chain after parsing value expression, if any, to avoid separating
204 continued .stabs lines.
208 * config/tc-mips.c (mips_elf_pseudo_table): Remove.
209 (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table.
213 * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for
214 -mcom support and PPC_OPCODE_ANY for -many.
215 (md_parse_option): Ditto.
217 (md_begin): For duplicate instructions, print all duplicates
222 * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on
223 common mode operation.
224 (md_show_usage): Add -mcom to usage message.
228 * expr.c (op_rank): Add O_symbol_rva.
229 * expr.h (operatorT): Add O_symbol_rva.
230 * read.c (cons_worker): Set O_symbol_rva when necessary.
231 * write.c (fix_new_exp): Understand O_symbol_rva.
235 * config/tc-mips.c: Correct s_cons arguments. From Michael
240 * config/tc-ppc.c (ppc_macro): Make count unsigned.
241 (ppc_biei): Set segment to now_seg and value to coff_n_line_nos.
242 (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting
244 * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and
245 make non-static. Change all users.
246 * config/obj-coff.h (coff_n_line_nos): Declare.
252 * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message.
254 * config/obj-elf.c (obj_elf_common): Convert specified byte
255 alignment to power of two. Set size of local bss symbol.
257 * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name.
261 * sb.c, macro.c: Decide whether to include <string.h> or
262 <strings.h> just as as.h does.
266 * Makefile.in (site.exp): Fix setting of $srcdir.
268 * config/tc-arm.c (md_atof): Fix little-endian output.
269 * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for
274 * doc/as.texinfo: Split out the NS32k family documentation,
275 despite its being commented out for now.
276 * doc/c-ns32k.texi: New file.
278 * sb.c, macro.c: Include string.h.
280 * Makefile.in (comparison): Only check *.o; we don't care if
281 timestamps inserted by the native linker differ.
283 * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern
284 if alignment stricter than 4 bytes is requested; in that case,
285 align to a 4-byte boundary first.
289 * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used
290 uninitialized" warning for `Max_Source_Offset'.
294 * config/tc-ppc.c (parse_toc_entry): New function to parse [toc]
295 qualifiers and detect errors if present.
296 (md_assemble): Add call to parse_toc_entry. Also added some support
297 for the [tocv] qualifier.
298 (ppc_pe_tocd): New function to support data in the toc section.
302 * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for
307 * config/tc-m68k.c (isbyte): Accept all values from -65536 to
308 +65535, so ~VAL will not be rejected.
310 * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode,
311 skip characters after the pseudo-op.
313 * read.c (get_line_sb): Don't look past buffer_limit.
314 (s_include): In MRI mode, skip characters after the file name.
318 * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit
319 periods in register names.
321 For older changes see ChangeLog.1.