binutils-gdb/binutils/testsuite/binutils-all/linkdebug.s
Nick Clifton 39f0547e55 Extend objdump's --dwarf=follow-links option so that separate debug info files will also be affected by other dump function, and symbol tables from separate debug info files will be used when disassembling the main file.
* objdump.c (sym_ok): New function.
	(find_symbol_for_address): Use new function.
	(disassemble_section): Compare sections by name, not pointer.
	(dump_dwarf): Move code to initialise byte_get pointer and iterate
	over separate debug files from here to ...
	(dump_bfd): ... here.  Add parameter indicating that a separate
	debug info file is being dumped.  For main file, pull in the
	symbol tables from all separate debug info files.
	(display_object): Update call to dump_bfd.
	* doc/binutils.texi: Document extened behaviour of the
	--dwarf=follow-links option.
	* NEWS: Mention this new feature.
	* testsuite/binutils-all/objdump.WK2: Update expected output.
	* testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add
	options and dump file parameters.
	Add extra test.
	* testsuite/binutils-all/objdump.WK3: New file.
	* testsuite/binutils-all/readelf.exp: Change expected output for
	readelf -wKis test.
	* testsuite/binutils-all/readelf.wKis: New file.
2019-02-25 12:15:41 +00:00

54 lines
1.8 KiB
ArmAsm

/* Assembler source used to create an object file for testing readelf's
and objdump's ability to process separate debug information files.
Copyright (C) 2017-2019 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* This is the separate debug info file. */
/* Create a .debug_abbrev section for use by the .debug_info section
in the main object file. */
.section .debug_abbrev,"",%progbits
abbrevs:
.uleb128 0x01 ;# Abbrev code.
.uleb128 0x11 ;# DW_TAG_compile_unit
.byte 0x00 ;# DW_children_no
.uleb128 0x03 ;# DW_AT_name
.uleb128 0x0e ;# DW_FORM_strp
.byte 0x00 ;# End of abbrev
.byte 0x00
.uleb128 0x02 ;# Abbrev code.
.uleb128 0x2e ;# DW_TAG_subprogram
.byte 0x00 ;# DW_children_no
.uleb128 0x03 ;# DW_AT_name
.uleb128 0x1f21 ;# DW_FORM_GNU_strp_alt
.byte 0x0 ;# End of abbrev
.byte 0x0
.byte 0x0 ;# Abbrevs terminator
/* Create a .debug_str section for remote use. This is also to check
the ability to dump the same section twice, if it exists in
both the main file and the separate debug info file. */
.section .debug_str,"MS",%progbits,1
string3:
.asciz "string-3"
.asciz "string-4"
.balign 2
string_end: