Bug 16318 - Objcopy loses EI_OSABI
Summary: Objcopy loses EI_OSABI
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.24
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-11 16:41 UTC by Andreas Schwab
Modified: 2014-01-28 13:38 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schwab 2013-12-11 16:41:21 UTC
Of all the ELF bfd targets only elf32-arm and elfnn-aarch64 copy over the EI_OSABI field in a bfd_copy_private_bfd_data hook.  It should either be recomputed or copied generically in _bfd_elf_copy_private_bfd_data.
Comment 1 cvs-commit@gcc.gnu.org 2013-12-12 22:42:15 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  57b828ef364b3cce05d9fb35be758cb4530e0e12 (commit)
      from  84b66498ef56905eb8ec15b94f3f06ddad978234 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=57b828ef364b3cce05d9fb35be758cb4530e0e12

commit 57b828ef364b3cce05d9fb35be758cb4530e0e12
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Dec 12 14:41:15 2013 -0800

    Also copy EI_OSABI field
    
    bfd/
    
    	PR binutils/16318
    	* elf.c (_bfd_elf_copy_private_bfd_data): Remove BFD_ASSERT.
    	Set e_flags only if elf_flags_init is FALSE.  Copy EI_OSABI
    	field.
    
    binutils/testsuite/
    
    	PR binutils/16318
    	* binutils-all/strip-10.d: Check OS/ABI.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                              |    7 +++++++
 bfd/elf.c                                  |   14 +++++++++-----
 binutils/testsuite/ChangeLog               |    5 +++++
 binutils/testsuite/binutils-all/strip-10.d |    4 +++-
 4 files changed, 24 insertions(+), 6 deletions(-)
Comment 2 cvs-commit@gcc.gnu.org 2013-12-17 19:49:11 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  e234935207c21a212b5a35928f50b578c65b9649 (commit)
      from  337e86d7c5a121bbd3983c580c3d33ab05a5325c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e234935207c21a212b5a35928f50b578c65b9649

commit e234935207c21a212b5a35928f50b578c65b9649
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Dec 17 11:48:18 2013 -0800

    Use _bfd_elf_copy_private_bfd_data
    
    	PR binutils/16318
    	* elf32-arm.c (elf32_arm_copy_private_bfd_data): Call
    	_bfd_elf_copy_private_bfd_data.
    	* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Removed.
    	(elf32_bfinfdpic_copy_private_bfd_data): Likewise.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-frv.c (frv_elf_copy_private_bfd_data): Removed.
    	(elf32_frvfdpic_copy_private_bfd_data): Likewise.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Removed.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-lm32.c (lm32_elf_copy_private_bfd_data): Removed.
    	(lm32_elf_fdpic_copy_private_bfd_data): Call
    	_bfd_elf_copy_private_bfd_data.
    	* elf32-mep.c (mep_elf_copy_private_bfd_data): Removed.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-msp430.c (elf32_msp430_copy_private_bfd_data): Removed.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-mt.c (mt_elf_copy_private_bfd_data): Removed.
    	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
    	* elf32-sh.c (sh_elf_set_private_flags): Removed.
    	(sh_elf_copy_private_data): Call _bfd_elf_copy_private_bfd_data
    	and sh_elf_set_mach_from_flags.
    	*  elfnn-aarch64.c (elfNN_aarch64_copy_private_bfd_data): Removed.
    	(bfd_elfNN_bfd_copy_private_bfd_data): Don't define.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog       |   28 ++++++++++++++++++++++++++++
 bfd/elf32-arm.c     |    9 +--------
 bfd/elf32-bfin.c    |   42 ------------------------------------------
 bfd/elf32-frv.c     |   42 ------------------------------------------
 bfd/elf32-iq2000.c  |   22 ----------------------
 bfd/elf32-lm32.c    |   22 +---------------------
 bfd/elf32-mep.c     |   17 -----------------
 bfd/elf32-msp430.c  |   12 ------------
 bfd/elf32-mt.c      |   20 --------------------
 bfd/elf32-sh.c      |   23 ++++-------------------
 bfd/elfnn-aarch64.c |   28 ----------------------------
 11 files changed, 34 insertions(+), 231 deletions(-)
Comment 4 cvs-commit@gcc.gnu.org 2014-01-28 12:01:38 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  bcf1df010c8e886c8bc23cd12ab396064537455d (commit)
      from  c6044dd124bee08ce8ebd2909582f9aed53b5499 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bcf1df010c8e886c8bc23cd12ab396064537455d

commit bcf1df010c8e886c8bc23cd12ab396064537455d
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 28 11:56:13 2014 +0000

    Update the tic6x linker tests to match the current behaviour of the linker and readelf.
    
    	PR binutils/16317
    	* ld-tic6x/shlib-1.rd: Expect I attribute with RELA sections.
    	* ld-tic6x/shlib-1b.rd: Likewise.
    	* ld-tic6x/shlib-1r.rd: Likewise.
    	* ld-tic6x/shlib-1rb.rd: Likewise.
    	* ld-tic6x/shlib-app-1rd: Likewise.
    	* ld-tic6x/shlib-app-1b.rd: Likewise.
    	* ld-tic6x/shlib-app-1r.rd: Likewise.
    	* ld-tic6x/shlib-app-1rb.rd: Likewise.
    	* ld-tic6x/shlib-noindex.rd: Likewise.
    	* ld-tic6x/static-app-1.rd: Likewise.
    	* ld-tic6x/static-app-1b.rd: Likewise.
    	* ld-tic6x/static-app-1r.rd: Likewise.
    	* ld-tic6x/static-app-1rb.rd: Likewise.
    
    	PR binutils/16318
    	* ld-tic6x/tic6x.exp: Expect C6000 osabi value in relocatable
    	objects.

-----------------------------------------------------------------------

Summary of changes:
 ld/testsuite/ChangeLog                  |   20 ++++++++++++++++++++
 ld/testsuite/ld-tic6x/shlib-1.rd        |    6 +++---
 ld/testsuite/ld-tic6x/shlib-1b.rd       |    6 +++---
 ld/testsuite/ld-tic6x/shlib-1r.rd       |    6 +++---
 ld/testsuite/ld-tic6x/shlib-1rb.rd      |    6 +++---
 ld/testsuite/ld-tic6x/shlib-app-1.rd    |    8 ++++----
 ld/testsuite/ld-tic6x/shlib-app-1b.rd   |    8 ++++----
 ld/testsuite/ld-tic6x/shlib-app-1r.rd   |    6 +++---
 ld/testsuite/ld-tic6x/shlib-app-1rb.rd  |    6 +++---
 ld/testsuite/ld-tic6x/shlib-noindex.rd  |    8 ++++----
 ld/testsuite/ld-tic6x/static-app-1.rd   |    4 ++--
 ld/testsuite/ld-tic6x/static-app-1b.rd  |    4 ++--
 ld/testsuite/ld-tic6x/static-app-1r.rd  |    4 ++--
 ld/testsuite/ld-tic6x/static-app-1rb.rd |    4 ++--
 ld/testsuite/ld-tic6x/tic6x.exp         |    2 --
 15 files changed, 58 insertions(+), 40 deletions(-)
Comment 5 cvs-commit@gcc.gnu.org 2014-01-28 13:38:36 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  342df9df2426b93b1b218848224a26f387c37ecd (commit)
      from  1ade065130f80f4fef38468315d85a1e60a560db (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=342df9df2426b93b1b218848224a26f387c37ecd

commit 342df9df2426b93b1b218848224a26f387c37ecd
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 28 13:33:29 2014 +0000

    A recent change to the BFD library has meant that the osabi field in
    ELF headers will be copied from input files.  This in turn has broken
    the strip-10 test in the binutils testsuite, so this patch updates the
    expected output.
    
    	PR binutils/16318
    	* binutils-all/strip-10.d: Allow "System V" in the osabi field.

-----------------------------------------------------------------------

Summary of changes:
 binutils/testsuite/ChangeLog               |    5 +++++
 binutils/testsuite/binutils-all/strip-10.d |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)