News for hackers. Stuff that matters.
Re:Actually Portable Executable by jart on Friday February 26, 2021 @11:24AM (#26276437)
We achieved a near ubiquitous consensus with the x86 PC. Then APPLE said, Behold, the programmers are one, and they can build portable binaries with one machine language; and this they begin to do: and now nothing will be restrained from them, which they have imagined to do. Go to, let us go down, and there confound their machine code, that they may not run each other apps across platforms. So APPLE scattered them abroad with M1 processors from thence upon the face of all the Internet: and they left off to rebuild their open source.
Re:Actually Portable Executable by blueblob on Friday February 26, 2021 @11:55AM (#26276853)
Just because it's ubiquitous doesn't mean that it's good. Also, to be clear, x86 then became x86_64/amd64 which isn't the same architecture either. There will always be iterations and oddball architectures where something new can be learned and even reapplied to update x86. POWER, Sparc, etc. all taught new lessons.

Apple isn't scattering anything by running processors that run the same architecture as android and ios on phones. Most open source software can already be compiled for x86, arm, sparc, etc.

Re:Actually Portable Executable by pcwalton on Friday February 26, 2021 @12:35PM (#26277419)
Except ARM CPUs have been vastly outselling x86 CPUs for a very long time, long before the M1 entered the scene. In just Q4 2020, 6.7 billion ARM-based devices shipped, while 275 million PCs shipped in all of 2020. Desktop PCs are only a small fraction of the total computing ecosystem.

The stuck-in-the-'90s "desktop is all there is" mindset is a weird holdover from the early growth of PCs in developed countries. If you look at emerging markets, mobile is completely dominant.

Re:Actually Portable Executable by jart on Friday February 26, 2021 @12:55PM (#26277657)
Raw sales numbers are going to be biased because ARM is like Zerg and x86 is Protoss. In the ARM world there isn't the same concept of a central processor so normally lots of chips get built into each individual device.

ARM has also been historically used most often on proprietary systems you need authorization to develop for. So it's made less sense as a target for open source tooling hack projects like this one.

ARM also has so many sub-targets that it's almost like a coalition of ISAs rather than a unified one like x86. So adding ARM support to Actually Portable Executable might not be as simple as including an ARM build in the binary. We might need to have multiple ARM builds for its microarchitectures. Because ARM users want resource efficiency and they're not going to be happy with a generalized build that broadly targets ARM; they want code that's narrowly targeted to the specific revisions of the processor that they're using.

In other words, we can't give ARM users portable binaries because ARM users do not want them.

I also always thought that code for other architectures was the kind of thing that mostly got contributed by the people who build those architectures. Things like how IBM always graces our GitHub issues with patches each time our code doesn't work on s390x mainframes. I like that they do it by contributing patches rather than the feedback of why don't you support this? Why don't you support that? Oh I didn't say I actually needed it.

Re:Actually Portable Executable by a1369209993 on Friday February 26, 2021 @01:53PM (#26278326)
> We might need to have multiple ARM builds for its microarchitectures.

Nitpick: it is by definition not needed to have different build for different microarchitectures (except maybe for performance). If the same code doesn't work on different chips, it's because they have different ('versions of') instruction set architectures.

Edit: nevermind, on rereading, you were already complaining about that. You should probably stick scare-quotes on "'need'", though.

Re:Actually Portable Executable by NobodyNada on Friday February 26, 2021 @04:05PM (#26279845)
> they're not going to be happy with a generalized build that broadly targets ARM; they want code that's narrowly targeted to the specific revisions of the processor that they're using.

Apple already does this for x86: macOS contains duplicates of all operating system binaries & libraries compiled for pre- vs. post-Haswell processors.

Re:Actually Portable Executable by dapids on Friday February 26, 2021 @01:06PM (#26277792)
Hahaha, I love the StarCraft analogy!
Re:Actually Portable Executable by Jetrel on Friday February 26, 2021 @08:23PM (#26281812)
I really want to know how we can work Banelings into a hilariously extended metaphor here. :P

(Rule 5: if you haven't played SC2, Banelings were a super in-character addition to the zerg unit tree. Zerglings are able to morph into a variant called the "baneling" that's a fairly powerful suicide bomb. Rather like the "scourge" air units in SC1, except a ground-only attack. Fairly good at rushing bunkers, but die pretty fast to siege tanks.

Really loved the design though - fit the zerg ethos really well.)

Re:Actually Portable Executable by FranOntanaya on Friday February 26, 2021 @12:42PM (#26277495)
How do PC sales get tracked when a lot of builds are put together from parts at mom-and-pop stores or by the customers themselves?
Re:Actually Portable Executable by toast0 on Friday February 26, 2021 @12:59PM (#26277709)
There's only two vendors selling CPUs for build your own PCs. Track their sales, and there's your PC numbers.
Re:Actually Portable Executable by user-the-name on Friday February 26, 2021 @12:38PM (#26277445)
I'm not sure bursting in with an "EXCEPT!" is quite the correct response to a satirical bible quote.
Re:Actually Portable Executable by mvh on Friday February 26, 2021 @12:25PM (#26277261)
Lol this made my morning
Re:Actually Portable Executable by stergios on Friday February 26, 2021 @11:53AM (#26276819)
I read that in the voice of Cecil B. DeMille narrating in The Ten Commandments. Well done.
Re:Actually Portable Executable by acchow on Friday February 26, 2021 @07:35PM (#26281521)
Near consensus on x86? But aren’t most computers in this world actually smartphones?
Re:Actually Portable Executable by reaperducer on Friday February 26, 2021 @11:49AM (#26276768)
I'm not sure what you're saying, but I appreciate that you put more effort into saying it than ten other HN posts combined.
Re:Actually Portable Executable by dtech on Friday February 26, 2021 @12:09PM (#26277054)
It's an adapted Bible quote. Genesis 11:6, about the tower of Babel.
Re:Actually Portable Executable by reaperducer on Friday February 26, 2021 @12:29PM (#26277335)
Cool, thanks for the explanation. It sounded Biblical, but I wasn't sure.
Re:Actually Portable Executable by beardbound on Friday February 26, 2021 @11:54AM (#26276825)
I think it was an allusion to the tower of Babel.