LinuxQuestions.org
Latest LQ Deal: Linux Power User Bundle
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 08-01-2014, 10:21 AM   #1
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 520

Rep: Reputation: 391Reputation: 391Reputation: 391Reputation: 391
Slackware ARM - FAQ - soft float and hard float


Q. Why is Slackware a soft float port?

A. Slackware ARM (or 'ARMedslack' as it was previously known) was developed in 2002 when the only ARM devices on the market were soft float. It's only in recent years - 2009, 2010 that hard float machines became main stream.

For Slackware ARM to have a hard float port is an entirely new port.

alienBOB of the Slackware Core Team began a hard float port. The progress he made has been made public.

However, porting Slackware is no trivial task - it's a *lot* of work. A few people have started and have not continued.



Q. Do I need hard float?

Not necessarily. If you are using your ARM device for multi media (video, audio) then it you really do need it otherwise the performance will not be optimal, or be unviewable or have stuttering audio.

However, if you are not using your ARM device for multi media then you don't need hard float - it won't make much difference to use a soft float distribution.



Q. Can I recompile some of the packages in Slackware ARM to be hard float and leave the rest as Soft Float?

Yes!

Have a look through this article that explains about rebuilding some of the core components to use hard float:

http://mindplusplus.wordpress.com/20...-raspberry-pi/

Q. Do I need to recompile my kernel to be hard float?

No. The kernels are compiled to support the architectures selected (e.g. ARMv7 Tegra, armv6 Broadcom). When selecting the support you will either choose which features to support, or they will be baked into the CPU type anyway. So yes, if the CPU contains hardware floating point support, your kernel will be hard float.

See this discussion for more information:

http://www.linuxquestions.org/questi...at-4175495652/
 
Old 08-03-2014, 01:18 AM   #2
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 480
Blog Entries: 13

Rep: Reputation: 43
Quote:
Originally Posted by drmozes View Post
Q. Do I need to recompile my kernel to be hard float?

No. The kernels are compiled to support the architectures selected (e.g. ARMv7 Tegra, armv6 Broadcom). When selecting the support you will either choose which features to support, or they will be baked into the CPU type anyway. So yes, if the CPU contains hardware floating point support, your kernel will be hard float.

See this discussion for more information:

http://www.linuxquestions.org/questi...at-4175495652/
Adding a little more info to that:
If you're going to compile your own kernel there are still a few selections that you are left to choose and that influence how your kernel is going to deal with floating point calculations:
Code:
System Type
  [ ] Support Thumb user binaries (NEW)
  [ ] Enable ThumbEE CPU extension (NEW)

Floating point emulation
 [ ] NWFPE math emulation (NEW)
 [ ] FastFPE math emulation (EXPERIMENTAL) (NEW)
 [ ] VFP-format floating point maths (NEW)
 [ ]   Advanced SIMD (NEON) Extension support (NEW)
Depending on the system type you select the "Support Thumb user binaries" may get automatically selected wile in the "Floating Point Emulation" menu you are left to choose how your kernel should behave. The NEON extensions only pop up if you enable VFP-Format.

Now the help messages in the "Floating Point Emulation" section can cause further confusion but to my understanding NWFPE and FastFPE
make the kernel do software floating point while VFP-format is the means by which floating point calculations are passed to FPU.

As Stuart has said in other posts ... If the usernald has divorced from hardfloat the kernel will never be asked to perform hardfloat calculations.
 
Old 12-05-2016, 06:11 AM   #3
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 520

Original Poster
Rep: Reputation: 391Reputation: 391Reputation: 391Reputation: 391
To conclude this thread:

* Slackware ARM 14.2 is "soft float" and is the last and final version of the soft float port that is maintained.
* Following on from the 14.2 release, all future releases will be hardware floating point.
* Slackware ARM "current" is hardware floating point.
 
Old 12-06-2016, 02:05 AM   #4
SCerovec
Senior Member
 
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 1,079
Blog Entries: 2

Rep: Reputation: 130Reputation: 130
Sorry drMozes:
so this effectively means:
besides kernel's FP emulation being disabled, nothing prevents the OS to boot on an FP-less host?
And other than that, only select packages make use of FP anyway?

This reminds to the MMX era and MPlayer from scratch?

So an wary owner of an sub-v7 CPU could theoretically still get an post 14.2 to run, but at the cost of rolling their own?

Not exactly Linux From Scratch, but a rather far cry from out of the box?
 
Old 12-06-2016, 02:40 AM   #5
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 520

Original Poster
Rep: Reputation: 391Reputation: 391Reputation: 391Reputation: 391
Quote:
Originally Posted by SCerovec View Post
Sorry drMozes:
so this effectively means:
besides kernel's FP emulation being disabled, nothing prevents the OS to boot on an FP-less host?


And other than that, only select packages make use of FP anyway?

This reminds to the MMX era and MPlayer from scratch?
No, it's different. The Kernel has no link to the user space in this regard. For example, the armv7 kernel in 14.2 has no floating point emulation in it and the 14.2 Kernel was used to boot strap the hard float port.

The user land is now using the hard float ABI. It cannot run binaries from the 14.2 soft float.

Code:
# Hard float bash:
root@wizbit:~/armedslack/slackwarearm-14.2/slackware/a/Q# readelf -h /bin/bash | grep Flags
  Flags:                             0x5000400, Version5 EABI, hard-float ABI
# Soft float bash:
root@wizbit:~/armedslack/slackwarearm-14.2/slackware/a/Q# readelf -h bin/bash4.new  | grep Flags
  Flags:                             0x5000200, Version5 EABI, soft-float ABI
root@wizbit:~/armedslack/slackwarearm-14.2/slackware/a/Q#
root@wizbit:~/armedslack/slackwarearm-14.2/slackware/a/Q# ./bin/bash4.new
-bash: ./bin/bash4.new: No such file or directory

Quote:
So an wary owner of an sub-v7 CPU could theoretically still get an post 14.2 to run

As you can see, this is impossible.

Quote:
.. , but at the cost of rolling their own? Not exactly Linux From Scratch, but a rather far cry from out of the box?
Slackware is not a 'from source' distribution but you can roll your own -- after all, that's what I do, right? :-)

Not that I have any prescience about the demise of the software floating support in ARM, but I've written about why I dropped the soft float port: summary - ARM community is small (for all distributions) and incredibly fragmented. Unless the masses are still using soft float OS or hardware that does not have FPU, the soft float port dies out of lack of use and maintenance. It happened with the 'old ABI' (Slackware/armedslack <=12.2), happened with the Mozilla suite. You either keep up with the pack, try and support yourself or die off. It's just economics and numbers of contributors.

Last edited by drmozes; 12-06-2016 at 02:48 AM.
 
1 members found this post helpful.
Old 01-13-2017, 09:43 AM   #6
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,712
Blog Entries: 27

Rep: Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055
Member response

Hi,

drmozes, will you be doing a 64Bit for SlackwareARM? I posted; First 64-Bit and Enterprise OS Comes to Raspberry Pi 3

Just wondering if you know of anyone working on a SlackwareARM64?

Thanks for all the Slackware ARM work.
 
Old 01-13-2017, 09:46 AM   #7
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 480
Blog Entries: 13

Rep: Reputation: 43
Have a look at this thread.
 
Old 01-13-2017, 01:31 PM   #8
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,712
Blog Entries: 27

Rep: Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055Reputation: 2055
Member response

Hi,

Quote:
Originally Posted by louigi600 View Post
Have a look at this thread.
Thanks! I had already looked at that link and was wondering if a SlackwareARM64 would be created for the full Slackware64 distribution tree. It seems it would be a major challenge and wonder if anyone has been working on a ARM distro for Slackware64.
 
Old 01-13-2017, 01:42 PM   #9
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 520

Original Poster
Rep: Reputation: 391Reputation: 391Reputation: 391Reputation: 391
Quote:
Originally Posted by onebuck View Post
Hi,



Thanks! I had already looked at that link and was wondering if a SlackwareARM64 would be created for the full Slackware64 distribution tree. It seems it would be a major challenge and wonder if anyone has been working on a ARM distro for Slackware64.
I started changing the build scripts to accommodate it but it'd be a huge piece of work, so probably not.
I've spent several hours just hacking around getting two Orange Pi boards supported, and trawling through mailing lists looking for hints as to whether anyone else'd come across the same issues.

I'd probably look at 64bit properly once and only once hard float is coming towards end of life upstream, as soft float did.

Last edited by drmozes; 01-13-2017 at 01:46 PM.
 
Old 01-13-2017, 06:39 PM   #10
SCerovec
Senior Member
 
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 1,079
Blog Entries: 2

Rep: Reputation: 130Reputation: 130
^_^ looking forward to either (and to help if I can)

Kudos to longtime (longer than me) fellow slackers
 
Old 01-14-2017, 07:56 AM   #11
Exaga
Member
 
Registered: Nov 2012
Distribution: Slackware Linux
Posts: 75

Rep: Reputation: 48
Quote:
Originally Posted by drmozes View Post
I started changing the build scripts to accommodate it but it'd be a huge piece of work, so probably not.

I'd probably look at 64bit properly once and only once hard float is coming towards end of life upstream, as soft float did.
Huge as the task may be, given the knowledge and experience of Slackware users within these forums, it's not beyond the bounds of possibility or out of the question. Where there's a will, there's always a way. Finding "the way" might be hard at first, but then nothing worthwhile is ever easy or convenient.

Quote:
Originally Posted by onebuck View Post
I had already looked at that link and was wondering if a SlackwareARM64 would be created for the full Slackware64 distribution tree. It seems it would be a major challenge and wonder if anyone has been working on a ARM distro for Slackware64.
The notion of Slackware ARM64 at this moment in time might appear to be over-imaginative and unrealistic, but it is neither inconceivable nor impossible to achieve. The challenges that exist are rebuilding the entire Slackware ARM tree for AArch64 architecture and then maintaining it. I cannot begin to ascertain the amount of effort and time involved in undertaking such a task, as a solo effort. However, the vision of Slackware ARM 64-bit port is never far from my thoughts on a daily basis. I have a deeply rooted, unbridled and unrestrained, passion for Slackware (especially the ARM port) and it's this which gives me a purpose and reason, and the motivation, to achieve.

The SARPi Project was initially conceived from much the same vision of 'what could be'. A friend and I first discussed Slackware ARM on a Raspberry Pi in 2011 - quite a few months before the device became publicly available. We started out with not much more than a dream and a head full of ideas, and took on the seemingly monumental task of turning those fanciful speculations into a reality. What you see now from the SARPi Project is the result of a lot of invested time, hard work, and the help/assistance of many, many people over the past +4 years.

When you have a clear vision of your goal(s), as we did, it does not matter how long or difficult the road might be in order to accomplish them. If you want to achieve and be successful then you need to have faith in your hopes, aspirations, and especially your dreams.

I haven't yet given up on my dreams.

Last edited by Exaga; 01-14-2017 at 07:58 AM.
 
4 members found this post helpful.
  


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
SlackwareARM on RaspberryPI and soft/hard float andrixnet Slackware - ARM 20 10-08-2014 08:02 PM
Hard float/soft float interndan Slackware - ARM 5 08-01-2014 10:23 AM
[SOLVED] gcc 4.6.3 'invalid operands to binary % ( have 'float' and 'float' ) error curious95 Programming 6 02-22-2013 08:51 AM
count digits of a float || convert float to string nadroj Programming 6 07-11-2005 04:52 PM


All times are GMT -5. The time now is 10:04 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
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration