LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 01-21-2023, 11:45 AM   #1
colinh2
Member
 
Registered: Dec 2015
Posts: 54

Rep: Reputation: Disabled
Advice on installing further ARM GNU toolchains?


The new Slackware ARM AIO installed nicely on my RPi4 (thanks Stuart!)

I'd like to develop my bare-metal OS, and port some ARM32 stuff across (to run under Slackware ARM64).

I'm really more of a bare-metal/assembly code guy, so I just wanted to check what the best way to install multiple toolchains is...

Do I just cp -r the various untar'd downloads from ARM to /usr ?

Basically, is there a standard, simple, sensible way to do this -- or do I need to consider all the files/paths individually and check for identicalness (given all are the same 12.2.1 version from ARM)?

The libraries obviously differ, but shouldn't the binaries (ie. gcc ar as ld gdb nm objcopy etc.) be identical? I mean, they all *run* on Slackware ARM64 -- they're just supposed to produce different output (which they can do using flags...)

Code:
arm-gnu-toolchain-12.2.rel1-aarch64-aarch64-none-elf.tar.xz
arm-gnu-toolchain-12.2.rel1-aarch64-arm-none-linux-gnueabihf.tar.xz
E.g.

Code:
new-arm32/share/gcc-12.2.1/python/libstdcxx/v6/

     /usr/share/gcc-12.2.0/python/libstdcxx/v6/
seem identical (ok, gcc-12.2.1 rather than 12.2.0), and are stored in the same place.

while

Code:
new-arm32/libexec/gcc/arm-none-linux-gnueabihf/12.2.1/

     /usr/libexec/gcc/aarch64-slackware-linux-gnu/12.2.0/
are nicely differentiated.

But

Code:
new-arm32/lib/gcc/arm-none-linux-gnueabihf/

   /usr/lib64/gcc/aarch64-slackware-linux-gnu/
(lib -- not lib32)

Etc.
 
Old 01-21-2023, 02:58 PM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,201

Rep: Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536
I'd describe myself as a hardware guy, and yes, I dis Assembler, VHDL, PLC programes, etc.

I started thinking like you, but then I realised there's no point. The difference is a bit big, and 32bit is passé. There isn't a class of programs which need 32bit. Increasingly, if 32bit is considered at all, it's Cortex A-7 only (rpi 2).

FTR, the late Fred Emmot perfected multilib with Slamd64-12.2, a 64bit slackware fork. There was only the one release, because the maintainer got sick, & died shortly enough after. He did, however pass the techniques on to Alien Bob, who maintains x86_64 Multilib. My need for multilib in x86 is because so much windows code is/was 32bit. Further some closed source stuff (flash, Adobe stuff, even google earth in the past) was stubbornly only available in 32bit for a good while.

In Multilib, Glibc & Gcc are special fresh packages. You have libs for everything else, and many environment variables have to be altered to use 32bit programs on your 64bit machine. There is a script to be run. Unless you have a specific use case, you really don't want to do this to yourself. You definitely don't want the work.
 
Old 01-21-2023, 04:35 PM   #3
colinh2
Member
 
Registered: Dec 2015
Posts: 54

Original Poster
Rep: Reputation: Disabled
I seem to remember that the multilib stuff for x86 Slackware was a bit of a pain.

But there are some things (like Chez Scheme) which are only available for Arm32, if they're available for Arm at all. -- I don't think it has any Arm32 assembly code (unless it's inlined), but there's lots of C int / pointer casting etc.

Code:
../boot/arm32le/scheme.h:96:40: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
 
Old 01-22-2023, 05:26 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 17,201

Rep: Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536Reputation: 2536
Look every cpu acutally runs on machine code. That's numbers telling the cpu which instructyion to execute next. Assembler is simply mnemonics that make machine code usable by humans. That said, it's no longer wise to write code in Assembler for security reasons. It's used in small chunks only.

A quick visit to DDG tells me Chez Scheme is not available for Arm. Neither, for that matter, is a lot of stuff. But if you can get source code, you 'port' it. Just compile it on an Arm toolchain. If it pukes, patch the compile fault & carry on.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Chapter 5.7 Adjusting Toolchains... Find error speedbird889 Linux From Scratch 3 03-26-2008 09:44 PM
LXer: Embedded Linux dev kits add enhanced ARM toolchains LXer Syndicated Linux News 0 11-08-2006 12:12 AM
.ext2 files and toolchains D0M1N1C Linux - General 0 12-13-2005 02:48 PM
.ext2 files and toolchains D0M1N1C Linux - Newbie 1 12-12-2005 03:57 PM
x86_64 Toolchains & Packages piete Slackware 10 12-02-2005 09:36 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM

All times are GMT -5. The time now is 12:32 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration