As others have said, it does seem like a misconfiguration (perhaps in the defaults shipped by their distribution) that the correct arch is not picked by default when building on the Raspberry Pi B+ itself.
As others have said, it does seem like a misconfiguration (perhaps in the defaults shipped by their distribution) that the correct arch is not picked by default when building on the Raspberry Pi B+ itself.
IIRC the original Pi used leftover chips from a TV box, which is the kind of product that IME never ships more compute than they have to, for price reasons.
Raspberry Pi's actually boot on a really fringe processor called a VideoCore. Arguably the GPU bootstraps the CPU, which makes my brain hurt.
There were many X terminals running off nothing but a Texas 34010, which was a very DSP-like CPU that ended up in a lot of high-end graphics acceleration boards for PCs and Macs (and Unix workstations).
The fact it could boot up an X server is quite extraordinary.
I wonder what the VideoCore looks like to the programmer.
Since it was designed explicitly to serve that purpose, I'm not sure why it's 'extraordinary'.
Disclaimer: I spent time at a 34010 X terminal shop.
I never imagined that. Now I'm surprised there were no desktop computers based on it. I knew the Intel 860 and 960 were designed as computers and got some usage as that, but I never knew the 34010 and 34020 were like that.
It's true that videocore was intended to be a GPU for phones, though.
IIRC they realised that the micros were not going to cut it, they went to Broadcom (Which Eben was working for at the time) and they were able to supply some "overstock processors" for cheap, which became the processor used in the Pi. Remember at the time the Pi was never designed to be for "makers" but to be a cheap computer to help better kickstart education, it was never designed for "us", but we all said "hey, cheap little linux computer, I'll take 5!
I've come across some (unknown provenance) information that bcm2763, which was advertised as a phone chip on an old version of the broadcom website (via archive. org) was the same die as bcm2835, but with dram hooked up in a different way.
Also broadcom haven't made phones, while they do still have a strong tv/StB market share, but that's declining due to their incessant proprietary attitude
"Let's move application development to Python then, I suppose."
"Thanks, that fixed it."
Probably what happened in my 55" smart TV dev team.
What's worse, they made a "throbber" effect by string substituting a different color into an SVG, and then reparsing the SVG, for each color it fades through.
That's the kind of coding quality the OLPC project had. That's why it failed, and it probably also factored into why they disabled the view source button.
Typical dev time for a new UI from scratch is years. And price drop on parts and their availability will be different down the road.
I wonder of people are running all tests, DEV work in KVM or other emulation stacks for DEV, but then not accurately locking clock rate, and limiting RAM during testing.
Because I'd quit as a DEV, if I saw the fruits of my labours, turning out as complete crap and a laughing stock. I wouldn't want my name associated with laggy, crashy, frustrating junk. I'd want no part of it, no part of everyone hating my work.
And further, how the hell does laggy crap get past the CTO? CEO? I've seen lag just trying to change the channel!
I mean, outside of caring about customers every buying anything with your name again, there's the laughing stock factor.
"Hi, I'm CEO of crappy corp"
"Wow, you must be really proud of yourself, dumbass"
I just don't get it. CEO bonuses aside, saving 10 cents on a part, over 10M units is still only $1M extra profit, and the CEO might see a tiny fraction, as a bonus, of that extra profit.
I don't grok.
The problem is, there is no competition, everyone sucks and only builds to "it works somewhat" quality. Hence, no incentive for anyone to invest more money.
ARM keeps releasing newer slow cores that support the latest instructions; for example the Cortex-A5 was available and the RPi 1 really should have used that.
Quote:
I started trying to take binaries from my "build host" (a much faster Pi 4B) to run them on this original beast. It throws an illegal instruction.
This is like building something with the latest MSVC on Windows 11 and trying to run the .EXE on an old PC running Windows XP. :)
I suspect the entire Pi distro she's running on the Pi 4B itself won't run on the B+, since all of it is probably compiled the same way, possibly down to the kernel.
The interesting question there is why does the clang binary itself run on the old hardware?
It must be that the distro build uses a different compiler configuration for itself from the configuration imbued into the installed clang.
Maybe it even builds clang twice: once to produce a clang that runs on the machine that builds the distro, which then compiles the packages, including the clang to run on the Pi.