linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Maciej W. Rozycki" <macro@orcam.me.uk>
To: James Jones <linux@theinnocuous.com>
Cc: Kees Cook <keescook@chromium.org>,
	bp@alien8.de, x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: Remove a.out support
Date: Sat, 2 Apr 2022 23:14:43 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.21.2204022255430.47162@angie.orcam.me.uk> (raw)
In-Reply-To: <bfbd9394-161b-0e70-00c5-79d0dd722e08@theinnocuous.com>

On Wed, 16 Mar 2022, James Jones wrote:

> Probably getting a bit off topic, but I did spend a few hours searching
> around for any existing tools to convert a binary from a.out->ELF, and
> trying to come up with something myself by extracting the sections with
> objdump and re-combining them into an ELF using a linker script placing
> the sections at the same locations. I couldn't get it working in an
> evening or two messing with it so I moved on, but I agree something like
> this seems possible in theory.

 Chiming in late as I'm scanning outstanding mailing list traffic: if this 
is as you say all statically linked stuff, then converting from a.out to 
ELF might be as easy as:

$ objcopy -I a.out-i386-linux -O elf32-i386 a.out-binary elf-binary

though you may have to build yourself suitably old i386-linux-gnu binutils 
(from ftp.gnu.org), e.g. this version does support a.out:

$ objcopy --info
BFD header file version 2.15.91 20040527
elf32-i386
 (header little endian, data little endian)
  i386
a.out-i386-linux
 (header little endian, data little endian)
  i386
efi-app-ia32
 (header little endian, data little endian)
  i386
elf32-little
 (header little endian, data little endian)
  i386
elf32-big
 (header big endian, data big endian)
  i386
srec
 (header endianness unknown, data endianness unknown)
  i386
symbolsrec
 (header endianness unknown, data endianness unknown)
  i386
tekhex
 (header endianness unknown, data endianness unknown)
  i386
binary
 (header endianness unknown, data endianness unknown)
  i386
ihex
 (header endianness unknown, data endianness unknown)
  i386
trad-core
 (header endianness unknown, data endianness unknown)

               elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big 
          i386 elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big 

               srec symbolsrec tekhex binary ihex trad-core 
          i386 srec symbolsrec tekhex binary ihex --------- 

The last binutils version to support a.out-i386-linux was 2.30 I believe.  
Just configuring for i386-linux-gnu should do as a.out used to be included 
as a secondary BFD target (you can also do `--enable-targets=all' to get 
support for all kinds of the exotic and less exotic BFD targets).

 HTH,

  Maciej

  parent reply	other threads:[~2022-04-02 22:14 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-12 17:54 [PATCH] x86: Remove a.out support James Jones
2022-03-12 18:06 ` James Jones
2022-03-13 11:56   ` Borislav Petkov
2022-03-13 18:26     ` James Jones
2022-03-15  9:44       ` Borislav Petkov
2022-03-15 19:51   ` Kees Cook
2022-03-16  5:06     ` James Jones
2022-03-16 12:38       ` Arnd Bergmann
2022-03-16 22:30         ` Kees Cook
2022-03-17  2:04           ` James Jones
2022-03-17  2:08             ` David Laight
2022-03-17 10:17             ` Borislav Petkov
2022-03-17 18:53             ` Kees Cook
2022-03-17  2:32           ` David Laight
2022-03-17  3:22             ` Kees Cook
2022-03-16 16:10       ` Kees Cook
2022-03-16 17:05         ` David Laight
2022-04-02 22:14       ` Maciej W. Rozycki [this message]
2022-04-03  2:24         ` Kees Cook
2022-04-04 11:03           ` Maciej W. Rozycki
2022-04-04 17:07             ` David Laight
2022-04-04 18:18               ` Kees Cook
2022-04-04  8:24         ` Geert Uytterhoeven
  -- strict thread matches above, loose matches on Subject: below --
2022-01-13 16:01 Borislav Petkov
2022-01-13 18:08 ` Kees Cook
2022-01-13 18:47 ` Theodore Ts'o
2022-01-13 22:56   ` Borislav Petkov
2022-01-14  4:06     ` Theodore Ts'o
2022-01-14 10:40       ` Arnd Bergmann
2022-01-14 19:09       ` Borislav Petkov
2022-01-14  9:51     ` David Laight
2022-01-14 14:52     ` Geert Uytterhoeven
2022-01-14 18:57       ` Theodore Ts'o
2022-01-14 19:00         ` Geert Uytterhoeven
2022-01-14 19:12       ` Borislav Petkov
2022-01-14 19:21         ` Geert Uytterhoeven
2022-01-14 19:35           ` Borislav Petkov
2022-01-15 11:37             ` Borislav Petkov
2022-01-15 19:42               ` John Paul Adrian Glaubitz
2022-03-09 20:03                 ` [PATCH] a.out: Stop building a.out/osf1 support on alpha and m68k Eric W. Biederman
2022-03-09 22:04                   ` Kees Cook
2022-03-10 23:29                     ` [PATCH] x86: Remove a.out support Eric W. Biederman
2022-03-10 23:35                       ` Linus Torvalds
2022-03-11  8:47                         ` Arnd Bergmann
2022-03-11 10:03                       ` Borislav Petkov
2022-01-15  4:54           ` David Laight

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2204022255430.47162@angie.orcam.me.uk \
    --to=macro@orcam.me.uk \
    --cc=bp@alien8.de \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@theinnocuous.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).