diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/objcopy.c | 7 | ||||
-rw-r--r-- | binutils/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/note-1.d | 12 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 1 |
5 files changed, 29 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index fab15bb..719192b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2010-02-01 Nathan Sidwell <nathan@codesourcery.com> + + * objcopy.c (copy_object): Set SEC_LINKER_CREATED when adding + sections. + 2010-01-28 Nick Clifton <nickc@redhat.com> PR 11225 diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 5df1449..a9b0d37 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1608,7 +1608,12 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) } else { - padd->section = bfd_make_section_with_flags (obfd, padd->name, flags); + /* We use LINKER_CREATED here so that the backend hooks + will create any special section type information, + instead of presuming we know what we're doing merely + because we set the flags. */ + padd->section = bfd_make_section_with_flags + (obfd, padd->name, flags | SEC_LINKER_CREATED); if (padd->section == NULL) { bfd_nonfatal_message (NULL, obfd, NULL, diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 38cc467..e9c6bc0 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-02-01 Nathan Sidwell <nathan@codesourcery.com> + + * binutils-all/note-1.d: New. + * binutils-all/objcopy.exp: Add it. + 2010-01-30 Dave Korn <dave.korn.cygwin@gmail.com> * binutils-all/windres/html.rc: Don't xfail x86_64-*-mingw*. diff --git a/binutils/testsuite/binutils-all/note-1.d b/binutils/testsuite/binutils-all/note-1.d new file mode 100644 index 0000000..1a42949 --- /dev/null +++ b/binutils/testsuite/binutils-all/note-1.d @@ -0,0 +1,12 @@ +#PROG: objcopy +#readelf: -S --wide +#objcopy: --add-section .note=$srcdir/note-1.d +#name: add notes section +#source: copytest.s + +There are .* + +Section Headers: +#... + \[[ 0-9]*\] .note NOTE 0*0000000 0*...... 0*000... .* +#... diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index f7f6cde..f734e14 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -835,6 +835,7 @@ if [is_elf_format] { objcopy_test_readelf "ELF group" group-3.s objcopy_test_readelf "ELF group" group-4.s run_dump_test "copy-1" + run_dump_test "note-1" } run_dump_test "copy-2" |