* read.c (s_lcomm_internal): Renamed from s_lcomm, added arg to
flag when alignment is in bytes instead of power of 2, and code to
use that flag to convert alignment to bytes.
(s_lcomm, s_lcomm_bytes): New helpers that call s_lcomm_internal.
* read.h (s_lcomm_bytes): Add prototype.
* config/obj-coff.c (write_object_file): If ALIGNMENT_IN_S_FLAGS is
defined, write alignment to alignment bits in section header s_flags
rather than the s_align field.
start-sanitize-tic80
* config/obj-coff.h (ALIGNMENT_IN_S_FLAGS): Define for TC_TIC80.
* config/tc-tic80.c (md_pseudo_table): Use s_lcomm_bytes for bss
pseudo, instead of s_lcomm which wants a power of two for alignment.
end-sanitize-tic80
PR 12215 and PR 13061
* read.c (potable): Add sleb128 and uleb128.
(sizeof_*leb128, output_*leb128, emit_leb128_expr, s_leb128): New
functions.
* read.h: Update prototypes.
* symbols.c (resolve_symbol_value): Streamline quite a bit. Return
the symbol value, add a second FINALIZE argument that prevents
changes from being comitted. Update all callers.
* write.c (cvt_frag_to_fill, relax_segment): Handle rs_leb128.
* doc/as.texinfo: Document the new pseudos.
* acinclude.m4: New file, from old aclocal.m4.
* configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove
shared library handling; now handled by libtool. Replace
AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC,
AC_PROG_LEX, and AC_DECL_YYTEXT. Call AM_MAINTAINER_MODE,
AM_CYGWIN32, and AM_EXEEXT. Don't call CY_CYGWIN32 or CY_EXEEXT.
* config.in: New file, created by autoheader.
* conf.in: Remove.
* acconfig.h: Mention PACKAGE, VERSION, and USING_CGEN.
* stamp-h.in: New file.
* as.c (print_version_id): Change GAS_VERSION to VERSION.
(parse_args): Likewise.
* config/obj-vms.c: (Write_VMS_MHD_Records): Likewise.
* Makefile.in: Now built with automake.
* aclocal.m4: Now built with aclocal.
* configure: Rebuild.
"fx" and "fxfrag". Add "ffrag". Change code to initialize and use
the right f/ffrag and fx/fxfrag pairs since instruction may be split
across frags.
PR 12899
OBJ_AOUT to ifdef OBJ_ELF.
(md_apply_fix3): When mangling 32 bit PC relative reloc for
BFD_ASSEMBLER, handle one ELF case for COFF as well, and add a PE
case.
* write.c (fixup_segment): Change special case for i386-coff to
not apply for i386-pe.
* config/obj-coff.c (coff_adjust_section_syms): Only count fixups
which were not done.
(coff_frob_file_after_relocs): Rename from coff_frob_file.
(coff_format_ops): Initialize frob_file_after_relocs field rather
than frob_file field.
* config/obj-coff.h (coff_frob_file): Don't declare.
(coff_frob_file_after_relocs): Declare.
(obj_frob_file): Don't define.
(obj_frob_file_after_relocs): Define.
* configure.in: Set bfd_gas to yes for i386-*-cygwin32.
* configure: Rebuild.
* config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler
calculate relocations to any external symbol, because we might be
linking a shared object and the symbol might be overriden or moved
(for instance, moved into a static executable's .bss section).
(GLOBAL_OFFSET_TABLE_NAME): Delete. This is an i386 wierdness.
* config/tc-ppc.h (tc_fix_adjustable): GOT-based relocations can't
be calculated by the assembler.
* config/tc-ppc.c (md_apply_fix3): Handle @plt or @local branch
whose destination lies in the same file, by ignoring the @plt or
@local and aiming the branch at its destination.
signed operand, sign extend a 32 bit value to the host size.
Permits dubious usage like
addi %r6,%r6,0xfffffeff
to assemble on a 64 bit host as it does on a 32 bit host.