* ld-elf/eh1.d: Add explicit --64 to as options, and explicit
-melf_x86_64 and -Ttext to ld options, so we don't assume every
x86_64-*-* target uses --64 (vs --x32) by default or has the
same address space layout.
* ld-elf/eh2.d: Likewise.
* ld-elf/eh3.d: Likewise.
* ld-elf/eh4.d: Likewise.
* ld-elf/elf.exp: For target *-*-nacl*, use options_regsub(ld) to
map -melf_x86_64 to -melf_x86_64_nacl.
* elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs.
* elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs.
(nacl_modify_program_headers): Likewise.
include/
* bfdlink.h (struct bfd_link_info): Add new member user_phdrs.
Newer BF54x parts feature an updated GPIO block where all the interrupt
handling is split off, so create a new model for the pin interrupts.
This is missing the port forwarding aspects, but at least the register
interface should be there.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
These are randomly generated tests to track down issues in ASTAT
handling with shift insns.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
More ASTAT directed fixes, but this time at the dsp32shift insns.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This improves some of the arithmetic shifts to better match the
hardware (especially wrt ASTAT behavior). We hit areas where
the published documentation is thin so we have to rely on tests
run on the hardware to figure out how things should behave.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Now that we check for valid sub-insns in parallel insns, we can
enable the tests that explicitly validate those code paths.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Now that we keep track of the exact parallel insn slot we're in, we can
make sure that the current insn being decoded is valid for that slot.
This brings us much closer to the hardware in flagging invalid parallel
insn combinations.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Some insns need to know which slot they're in to determine whether they
are valid. So add an enum for each slot, and check that rather than the
overall insn len. This makes tracking things in the code much clearer.
However, this code is functionally the same, so a follow up patch will
leverage this more to properly flag invalid parallel insn combos.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Now that we have the se_all helpers together and working, we can see
what pieces are duplicated in each test and unify them in the common
header file.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The amod1 helper includes a leading space so it can expand into the empty
string when need be, which means the caller need not add spacing itself.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
fencepost error.
(v850_frame_cache): Use gdbarch_num_regs() instead of E_NUM_REGS.
(v850_gdbarch_init): Set `num_regs' as appropriate for the
architecture.
* linespec.c (decode_compound): Remove.
(enum offset_relative_sign): New enum.
(struct line_offset): New struct.
(struct linespec): New struct.
(struct linespec_state): Move file_symtabs,
user_filename, and user_function into struct linespec.
Make result an anonymous struct holding vectors of
symbolp and minsym_and_objfile_d.
Add language member.
(enum ls_token_type): New enum.
(linespec_keywords): New array.
(struct ls_token): New struct.
(struct ls_parser): New struct.
(linespec_lexer_lex_number): New function.
(linespec_lexer_lex_keyword): New function.
(is_ada_operator): New function.
(skip_quote_char): New function.
(copy_token_string): New function.
(is_closing_quote_enclosed): New function.
(find_parameter_list_end): New function.
(linespec_lexer_lex_string): New function.
(linespec_lexer_lex_one): New function.
(linespec_lexer_consume_token): New function.
(linespec_lexer_peek_token): New function.
(cplusplus_error): Remove unused function.
(find_methods): Update comment.
(find_toplevel_char): Return const.
(is_objc_method_format): Remove unused function.
(find_toplevel_string): New function.
(is_linespec_boundary): Remove.
(symbol_not_found_error): New function.
(find_method_overload_end): Remove function.
(unexpected_linespec_error): New function.
(keep_name_info): Remove.
(linespec_parse_line_offset): New function.
(linespec_parse_basic): New function.
(canonicalize_linespec): New function.
(decode_line_internal): Remove.
(create_sals_line_offset): New function adapted from
decode_all_digits.
(convert_linespec_to_sals): New function.
(parse_linespec): New function.
(linespec_parser_new): New function.
(linespec_state_destructor): Change parameter type to
struct linespec_state *.
Add language parameter.
Remove freeing of moved members.
(linespec_parser_delete): New function.
(decode_line_full): Use parse_linespec and linespec_parser_new.
(decode_line_1): Likewise.
(decode_indirect): Rename to ...
(linespec_expression_to_pc): ... this and rewrite
to simply find CORE_ADDR, storing this result for later
conversion to SALs.
(locate_first_half): Remove.
(deocde_objc): Add parameter LS.
Initialize new struct collect_info members.
Handle minimal symbols, too.
(decode_compound): Delete.
(lookup_prefix_sym): Rewrite.
(compare_msymbols): New function.
(find_method): Rewrite.
Do not call cplusplus_error.
(symtabs_from_filename): Rewrite.
(collect_function_symbols): Delete.
(find_function_symbols): Rewrite without ARGPTR-style
processing.
(decode_all_digits): Delete. (Rewritten as create_sals_line_offset.)
(decode_dollar): Adapted and renamed to ...
(linespec_parse_variable): ... this.
(find_linespec_symbols): New function.
(decode_label): Adapted and renamed to ...
(find_label_symbols): ... this.
(decode_digits_list_mode): Add and use LS argument.
(decode_digits_ordinary): Likewise.
(collect_symbols): Do not collect SALs, just symbols and msymbols.
If in list mode, allow any symbol class. Otherwise, only
permit LOC_BLOCK symbols.
(minsym_found): Update comments.
(search_minsyms_for_name): Do not convert the matching symbol
into a SAL. Simply push the symbol and objfile into the
result vector.
(decode_variable): Delete. Contents adapted into
find_linespec_symbols.
* cp-support.c (SKIP_SPACE): Remove.
(operator_tokens): Remove unused global.
(cp_validate_operator): Remove.
* cp-support.h (cp_validate_operator): Remove declaration.
* gdb.base/advance.exp: Update error message for
"advance malformed" test.
* gdb.base/break.exp: Likewise for "breakpoint with
trailing garbage" test.
* gdb.base/hbreak2.exp: Likewise for "hardware breakpoint
with trailing garbage" test.
* gdb.base/jump.exp: Likewise for "jump with trailing
argument junk" test.
* gdb.base/sepdebug.exp: Likewise for "breakpoint with
trailng garbage" test.
* gdb.base/until.exp: Likewise for "malformed until" test.
* gdb.cp/ovldbreak.exp: Create the breakpoint table
for "breakpoint info (after setting on all)".
* gdb.cp/userdef.exp: Remove quoting for "break A2::operator+"
tests.
* gdb.cp/cplabel.cc: New file.
* gdb.cp/cplabel.exp: New test.
* gdb.linespec/ls-errs.c: New file.
* gdb.linespec/ls-errs.exp: New test.
transfer size.
(IMM): New, call IMM_ with the default 32.
(IMMW,IMMB): Likewise, for 16 and 8.
(NIMM, MBIMM): Add size parameter.
(immediate): Likewise. Allow 32768..65535 for 16-bit transfers.
(MOV.W): Use IMMW instead of IMM.
* config/rx-parse.y (ADC,SBB): ADC and SBB only allow .L.
(op_dp20_rm_l): New.
(op_dp20_rim_l): New.
* config/rx-parse.y (op_dp20_rms): Rename to op_dp20_rr, don't allow mem.
(ABS, NEG, NOT): These only take REG or REG,REG (rr, not rms).
* gas/rx/mov.d: Update patterns for fixed MOV.W encoding.