← Back to team overview

touch-packages team mailing list archive

[Bug 1205362] Re: bizarre stripping of osabi field

 

closing this as won't fix; freebsd is not a target for Ubuntu. Please
report the issue upstream yourself, if you are interested in such a
configuration.


** Changed in: binutils (Ubuntu)
       Status: New => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1205362

Title:
  bizarre stripping of osabi field

Status in “binutils” package in Ubuntu:
  Won't Fix

Bug description:
  I'm using binutils-multiarch to strip freebsd binaries. I've minimised
  this test case a bit from how I found the problem, to make it clear
  how strange this is.

  I've got chroots of precise and raring in both i386 and amd64
  versions, all sitting on one box. I've installed binutils-multiarch
  into all four of these. Then I copy a freebsd binary into the chroot,
  and run strip on it.

  asuffiel@asuffiel-u-dsk:~$ for i in /srv/precise-* /srv/raring-*; do echo $i; readelf -h $i/tmp/init; done
  /srv/precise-amd64
  ELF Header:
    Magic:   7f 45 4c 46 01 01 01 09 00 00 00 00 00 00 00 00 
    Class:                             ELF32
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - FreeBSD
    ABI Version:                       0
    Type:                              EXEC (Executable file)
    Machine:                           Intel 80386
    Version:                           0x1
    Entry point address:               0x80480c0
    Start of program headers:          52 (bytes into file)
    Start of section headers:          535664 (bytes into file)
    Flags:                             0x0
    Size of this header:               52 (bytes)
    Size of program headers:           32 (bytes)
    Number of program headers:         3
    Size of section headers:           40 (bytes)
    Number of section headers:         15
    Section header string table index: 14
  /srv/precise-i386
  ELF Header:
    Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
    Class:                             ELF32
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - System V
    ABI Version:                       0
    Type:                              EXEC (Executable file)
    Machine:                           Intel 80386
    Version:                           0x1
    Entry point address:               0x80480c0
    Start of program headers:          52 (bytes into file)
    Start of section headers:          535664 (bytes into file)
    Flags:                             0x0
    Size of this header:               52 (bytes)
    Size of program headers:           32 (bytes)
    Number of program headers:         3
    Size of section headers:           40 (bytes)
    Number of section headers:         15
    Section header string table index: 14
  /srv/raring-amd64
  ELF Header:
    Magic:   7f 45 4c 46 01 01 01 09 00 00 00 00 00 00 00 00 
    Class:                             ELF32
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - FreeBSD
    ABI Version:                       0
    Type:                              EXEC (Executable file)
    Machine:                           Intel 80386
    Version:                           0x1
    Entry point address:               0x80480c0
    Start of program headers:          52 (bytes into file)
    Start of section headers:          535664 (bytes into file)
    Flags:                             0x0
    Size of this header:               52 (bytes)
    Size of program headers:           32 (bytes)
    Number of program headers:         3
    Size of section headers:           40 (bytes)
    Number of section headers:         15
    Section header string table index: 14
  /srv/raring-i386
  ELF Header:
    Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
    Class:                             ELF32
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - System V
    ABI Version:                       0
    Type:                              EXEC (Executable file)
    Machine:                           Intel 80386
    Version:                           0x1
    Entry point address:               0x80480c0
    Start of program headers:          52 (bytes into file)
    Start of section headers:          535664 (bytes into file)
    Flags:                             0x0
    Size of this header:               52 (bytes)
    Size of program headers:           32 (bytes)
    Number of program headers:         3
    Size of section headers:           40 (bytes)
    Number of section headers:         15
    Section header string table index: 14

  
  Notice the OS/ABI field (byte 7 of the magic). In the amd64 chroots, it has been correctly left as a 9, which is freebsd. In the i386 chroots, it has been incorrectly reset to zero, which is sysv. Removing this byte breaks binary loading on freebsd - the kernel won't run it.

  I have no idea what's going on here. Sample binary attached to make it
  easy to reproduce.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1205362/+subscriptions