mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-26 07:19:16 +08:00
Extend the assembler so that it can automatically generate GNU Build attribute notes if none are present in the input files.
gas * as.c (flag_generate_build_notes): New variable. (show_usage): Add entry for --generate-missing-build-notes. (parse_args): Parse --generate-missing-build-notes. * as.h: Export flag_generate_build_notes. * symbols.c (save_symbol_name): Ensure that the name parameter is not NULL. * write.c (create_obj_attrs_section): Reformat. (create_note_reloc): New function - creates a relocation for a field in a GNU Build attribute note. (maybe_generate_build_notes): New function - created GNU Build attribute notes if none are present in the output file. (write_object_file): Call maybe_generate_build_notes. * configure.ac (--enable-generate-build-notes): New option. * NEWS: Announce the new feature. * doc/as.textinfo: Document the new option. * config.in: Regenerate. * configure: Regenerate. binutils* readelf.c (is_32bit_abs_reloc): Support R_PARISC_DIR32 as a 32-bit absolute reloc for the HPPA target. * testsuite/binutils-all/note-5.d: New test. * testsuite/binutils-all/note-5.s: Source file for new test. * testsuite/binutils-all/objcopy.exp: Run new test.
This commit is contained in:
11
binutils/testsuite/binutils-all/note-5.d
Normal file
11
binutils/testsuite/binutils-all/note-5.d
Normal file
@ -0,0 +1,11 @@
|
||||
#PROG: objcopy
|
||||
#as: --generate-missing-build-notes=yes
|
||||
#readelf: --notes --wide
|
||||
#name: assembler generated build notes
|
||||
#source: note-5.s
|
||||
|
||||
#...
|
||||
Displaying notes found in: .gnu.build.attributes
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
[ ]+GA\$<version>3a1[ ]+0x000000(08|10)[ ]+OPEN[ ]+Applies to region from 0 to 0x.. \(note_5.s\)
|
||||
#...
|
14
binutils/testsuite/binutils-all/note-5.s
Normal file
14
binutils/testsuite/binutils-all/note-5.s
Normal file
@ -0,0 +1,14 @@
|
||||
.text
|
||||
.global note_5.s
|
||||
note_5.s:
|
||||
.dc.l 2
|
||||
.dc.l 4
|
||||
.dc.l 6
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
.dc.l 8
|
||||
|
@ -1058,6 +1058,7 @@ if [is_elf_format] {
|
||||
run_dump_test "note-3-32"
|
||||
run_dump_test "note-4-32"
|
||||
}
|
||||
run_dump_test "note-5"
|
||||
}
|
||||
|
||||
run_dump_test "copy-2"
|
||||
|
Reference in New Issue
Block a user