Announcement

Collapse
No announcement yet.

Linux Preparing To Finally Remove Support For The a.out Format

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ungweliante
    replied
    I started using Linux in 1997 and I never saw an a.out binary.

    And yes, at that time in the industrial world you would use DOS and write your low level code to handle the HW directly.

    Been there, done that, got the t-shirt.

    Leave a comment:


  • cjcox
    replied
    Now what am I supposed to do with all my old SCO software? IBM <coff> approves of this message.

    Leave a comment:


  • shmerl
    replied
    It is still confusing that a.out is an elf. If you like misleading mess, then yeah, no need to fix it. But I think it's just an inertia thinking.

    Leave a comment:


  • shopt
    replied
    Originally posted by shmerl View Post

    What kind of scripts rely on a.out? And if some do, they can be rewritten so nothing would rely on it. Good opportunity to fix obsolete stuff.
    Sure, the scripts should have been specifying the output name. But my question still remains: "for what?" You are going to break some scripts, you should have a good reason. And I don't really think that confusing a few people for who all of these are true is a good reason:
    • They know a.out is a binary format, and not just "the default name gcc writes".
    • They know enough to care about the difference between a.out and ELF.
    • They have never inspected that file in the last 15 years with the "file" util. They have not once used any ELF tools on it and wondered why their ELF tools were working on an "a.out" binary.
    • They have not read the docs on the default output formats.
    You said yourself that the scripts shouldn't rely on a.out. I would say the same about tutorials. That's a better way to reduce confusion IMO.

    Leave a comment:


  • shmerl
    replied
    Originally posted by bug77 View Post

    Probably the same scripts that rely on holding down space to overheat the CPU?
    (For those that have been living under a rock: https://xkcd.com/1172/ )
    lol. Haven't seen that one before.

    Leave a comment:


  • NobodyXu
    replied
    Originally posted by caligula View Post
    I guess this is different, but many C tutorials introduce the concept of 'a.out' executable to save some typing when compiling stuff:

    $ echo "#include..." > hello.c
    $ gcc hello.c
    $ ./a.out

    Imagine the horror if you had to write this instead:

    $ gcc hello.c -o hello
    $ ./hello

    Requires 9 characters more.
    Not true, l./a.out” is just some nameing schema here, it has nothing to do with the a.out format that is deprecated here.

    Leave a comment:


  • NobodyXu
    replied
    Originally posted by bug77 View Post
    Wth, the first program I wrote in C for Linux produced an a.out. You're telling me that won't work anymore? One can't write a first program, you know? Not to mention I barely remember a shred of C these days.

    Farewell a.out, it's been nice knowing you.
    It will still work.

    ”./a.out” is simply a name, it is ELF format underlying.

    Leave a comment:


  • shopt
    replied
    Originally posted by ids1024 View Post
    I wonder where one would even find an old a.out executable, and whether or not it would still work fine on Linux before this.
    My first guess would have been the old Loki games native-linux ports, but cursory googling suggests they are ELF. They had their own issues running on a modern linux install, but they were all userspace last I checked.

    Leave a comment:


  • bug77
    replied
    Originally posted by shmerl View Post

    What kind of scripts rely on a.out? And if some do, they can be rewritten so nothing would rely on it. Good opportunity to fix obsolete stuff.
    Probably the same scripts that rely on holding down space to overheat the CPU?
    (For those that have been living under a rock: https://xkcd.com/1172/ )

    Leave a comment:


  • shmerl
    replied
    Originally posted by shopt View Post

    Disagree. Renaming would break scripts, and for what?
    What kind of scripts rely on a.out? And if some do, they can be rewritten so nothing would rely on it. Good opportunity to fix obsolete stuff.

    Leave a comment:

Working...
X