* readline/complete.c (pwd.h): Guard with HAVE_PWD_H.
(getpwent): Guard with HAVE_GETPWENT.
(rl_username_completion_function): Guard use of getpwent.
(endpwent): Likewise.
* readline/config.h.in (HAVE_FCNTL): New macro.
(HAVE_GETPWENT): Likewise.
(HAVE_GETPWNAM): Likewise.
(HAVE_GETPWUID): Likewise.
(HAVE_KILL): Likewise.
(HAVE_PWD_H): Likewise.
* readline/configure: Regenerated.
* readline/configure.in: Handle MinGW when cross compiling. Check for
getpwnam, getpwent, getpwuid, kill, and pwd.h.
* readline/display.c (rl_clear_screen): Treat Windows like DOS.
(insert_some_chars): Likewise.
(delete_chars): Likewise.
* readline/shell.c (pwd.h): Guard with HAVE_PWD_H.
(getpwuid): Guard with HAVE_GETPWUID.
(sh_unset_nodelay_mode): Guard use of fnctl with HAVE_FNCTL_H.
* readline/signals.c (rl_signal_handler): Don't use SIGALRM or
SIGQUIT if not defined. Use "raise" if "kill" is not available.
(rl_set_signals): Don't set handlers for SIGQUIT or SIGALRM if
they are not defined.
(rl_clear_signals): Likewise.
* readline/tilde.c (pwd.h): Guard with HAVE_PWD_H.
(getpwuid): Guard declaration with HAVE_GETPWUID.
(getpwnam): Guard declaration with HAVE_GETPWNAM.
(tilde_expand_word): Guard use of getpwnam with HAVE_GETPWNAM.
2005-05-09 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (optimize_disp): Discard displacement entirely when zero and
not required by encoding constraints.
gas/testsuite/
2005-05-09 Jan Beulich <jbeulich@novell.com>
* gas/i386/tlsd.[sd]: Adjust to not assume zero displacement will
actually be present in memory addressing.
* gas/i386/tlspic.[sd]: Likewise.
(ppc64_elf_add_symbol_hook): Set has_dotsym.
(ppc64_elf_check_directives): Only process syms when has_dotsym.
(func_desc_adjust): Hide fake function descriptors when function
code entry is defined.
(adjust_opd_syms): Adjust for deleted_section becoming union field.
2005-05-09 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (parse_insn): Disallow use of prefix separator
and comma in Intel mode.
include/opcode/
2005-05-09 Jan Beulich <jbeulich@novell.com>
* i386.h (i386_optab): Add ht and hnt.
2005-05-09 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (tc_x86_regname_to_dw2regnum): Correct 64-bit mode
names to match ABI. Add more registers for 32-bit and 64-bit modes.
Make name array static and const. Adjust lookup to account for NULL
entries (standing for unused register numbers).
2005-05-09 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (parse_insn): Consider all matching instructions
when checking for string instruction after string-only prefix.
Change type to `static const gdb_byte'.
(i386_linux_sigtramp_start, i386_linux_rt_sigtramp_start)
(i386_linux_sigcontext_addr): Use gdb_byte for buf.
* amd64-linux-tdep.c (linux_sigtramp_code): Change type to `static
const gdb_byte'.
(amd64_linux_sigtramp_start, amd64_linux_sigcontext_addr): Use
gdb_byte for buf.
* amd64fbsd-tdep.c (amd64fbsd_supply_uthread)
(amd64fbsd_collect_uthread): Use gdb_byte for buf.
(amd64_push_arguments): Use gdb_byte instead of bfd_byte. Use
gdb_byte for buf.
(amd64_push_dummy_call): Use gdb_byte for buf.
(amd64_analyze_prologue): Use gdb_byte for proto, buf and op.
(amd64_frame_cache, amd64_sigtramp_frame_cache)
(amd64_unwind_dummy_id): Use gdb_byte for buf.
(amd64_supply_fxsave, amd64_collect_fxsave): Use `gdb_byte *' for
regs.
* amd64obsd-tdep.c (amd64obsd_supply_regset): Use `gdb_byte *' in
casts.
(amd64obsd_sigtramp_p): Use gdb_byte for sigreturn and `gdb_byte
*' for buf,
`const gdb_byte *'. Use gdb_byte for break_insn.
(i386_follow_jump): Use gdb_byte for op.
(i386_analyze_struct_return): Use gdb_byte for proto1, proto2, buf
and op.
(i386_skip_probe): Use gdb_byte for buf and op.
(struct i386_insn): Use gdb_byte for insn and mask.
(i386_match_insn, i386_analyze_frame_setup)
(i386_analyze_register_saves): Use gdb_byte for op.
(i386_skip_prologue): Use gdb_byte for pic_pat and op;
(i386_unwind_pc, i386_frame_cache, i386_sigtramp_frame_cache)
(i386_unwind_dummy_id, i386_get_longjmp_target): Use gdb_byte for
buf.
(i386_extract_return_value, i386_store_return_value): Use
`bfd_byte *' instead of `void *' for valbuf argument. Remove now
redundant cast.
(i386_pseudo_register_read, i386_pseudo_register_write): Use
gdb_byte for mmx_buf.
(i386_register_to_value, i386_value_to_register): Use `gdb_byte *'
instead of `char *' for buf.
(i386_supply_gregset, i386_collect_gregset): Use `gdb_byte *'
instead of `char *' for regs.
(i386_svr4_sigcontext_addr): Use gdb_byte for buf.
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use gdb_byte for
sigreturn and `gdb_byte *' for buf.
(i386obsd_aout_supply_regset): Use `const gdb_byte *' in cast.
(i386obsd_supply_uthread, i386obsd_collect_uthread): Use gdb_byte
for buf.
* i386bsd-tdep.c (i386bsd_sigcontext_addr): Use gdb_byte for buf.
2005-05-06 Jan Beulich <jbeulich@novell.com>
* macro.c (new_formal, del_formal): New.
(do_formals): Use new_formal. Check for and parse qualifier. Warn if
required argument has default value. Stop looking for more formal
when there was a vararg one.
(macro_expand_body): Use new_formal and del_formal.
(macro_expand): Likewise. Initialize local variable err. Don't
return immediately when encountering an error. Warn when keyword
argument already had a value assigned. Eliminate duplicate clearing
of argument value. When current positional argument matches parameter
of vararg type, assign to it all the remaining arguments. Issue error
when required parameter does not have value.
(free_macro): Use del_formal.
(expand_irp): Initialize formal type. Free buffers associated with
formal prior to returning.
* macro.h (struct formal_struct): Add new field 'type' with new
enumeration type 'formal_type'.
* doc/as.texinfo: Document macro parameter qualifiers.
* NEWS: Mention new functionality.
gas/testsuite/
2005-05-06 Jan Beulich <jbeulich@novell.com>
* gas/macros/badarg.s: Add check for bad qualifier specification.
* gas/macros/badarg.l: Adjust.
* gas/macros/vararg.[sd]: New.
* gas/macros/macros.exp: Run new test.