linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Jones <linux@theinnocuous.com>
To: Borislav Petkov <bp@alien8.de>
Cc: keescook@chromium.org, x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: Remove a.out support
Date: Sun, 13 Mar 2022 18:26:31 +0000	[thread overview]
Message-ID: <785a6348-e1c5-7900-78bc-af8b6923cc8a@theinnocuous.com> (raw)
In-Reply-To: <Yi3b/GpUuhkI5lv7@zn.tnic>

On 3/13/22 4:56 AM, Borislav Petkov wrote:
> On Sat, Mar 12, 2022 at 06:06:26PM +0000, James Jones wrote:
>>> Sorry for taking so long to complain, but I have been meaning to note
>>> that I and a few others are still using a.out. I saw it go by in my
>>> morning Google news skim that this went in, and figured it was now or
>>> never. The use case is running an old set of tools to build programs for
>>> the Atari Jaguar. Namely, Atari's assembler (mac) and linker (aln). The
>>> alternative is running windows versions in dosbox, or using some
>>> replacements that have been developed based on an even older,
>>> less-featureful version of the source code for mac and aln, but which
>>> still haven't managed to add back in all the features needed to build
>>> some programs or use the Atari debugging tools (Also available in a.out
>>> only).
>
> Ok, for my own understanding only: you want to build those tools as
> a.out binaries and run them on x86, correct?

The 'mac' and 'aln' tools are only available as x86 a.out binaries. I
can't build them. They're in 'jaguar/bin/linux/[aln,mac]' in the
referenced jaguar-sdk project, along with a few others.

> Because wikipedia says that jaguar thing has a motorola m68k system
> processor and looking at your makefile, you build some ancient gcc with
> --target=m68k-aout so where does x86's a.out support come into play
> here?

Sorry for not being clearer. The 'mac' and 'aln' x86 a.out binaries
generate and consume m68k a.out object files. So if you want to use some
C code in addition to assembly listings, you'd use this separate m68k
a.out build of gcc (itself an ELF executable) to compile the C code to
object files, then link everything with 'aln'.

The real value of 'mac' and 'aln' though isn't their m68k support.
binutils can assemble and link that, as can the version of 'mac' and
'aln' that source is available for. These builds of 'mac' also support
the Jaguar's custom RISC instruction set, allowing you to add this RISC
code in the same assembly listings as the m68k code using a few
directives. This version of 'aln' has a few options to support
Jaguar-specific stuff as well.

This all probably seems absurd now, but note the newest version of these
tools was released in 1995, when Linux ELF support would have been brand
new. I don't know when the tools first shipped on Linux, but it would
have been a few years before that, so a.out would have been the only
option. It seems some Atari Jaguar developers were rather early Linux
adopters.

>>> If others are open to it, I can share my small local patches along with
>>> a revert of this change. I'd also like to ask whether much is gained by
>>> deleting this code as far as reducing maintenance burden. It has
>>> survived nearly untouched since the deprecation notice and still works
>>> modulo a broken preprocessor macro in fs/exec.c.
>
> I personally don't mind if you fix it up and take care of it going
> forward, shouldn't be too much of a maintenance overhead - I'd just like
> you to document somewhere in those files what is still using this so
> that when you don't care for that project anymore or you stop needing
> it for whatever reason, we can look up the URL and check whether we can
> remove a.out support then.

OK, will do. I appreciate the consideration.

-James

> Thx.
>
> --
> Regards/Gruss,
>      Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette


  reply	other threads:[~2022-03-13 18:26 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 [this message]
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
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=785a6348-e1c5-7900-78bc-af8b6923cc8a@theinnocuous.com \
    --to=linux@theinnocuous.com \
    --cc=bp@alien8.de \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --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).