Skip to contentSkip to conversation

ARM linux mailing lists FAQ about floating point support.

DISCUSSION Gilles Chanteperdrix 3 participants 10 messages Sep 10, 2009

lore
Share & tools
lore
#2 lore raw
Quoted 10 lines · Nicolas Pitre
Quoted 6 lines · Gilles Chanteperdrix

Hi,

It seems the FAQ here:
http://www.arm.linux.org.uk/mailinglists/faq.php#f4

is a bit outdated, since it does not mention that EABI solves the issue.

And just how would EABI solve the issue?

By allowing to mix soft-float and hard-float programs with only one libc?

Signature · 1 line
					    Gilles.
#3 lore raw
Quoted 5 lines · Gilles Chanteperdrix
Quoted 4 lines · Nicolas Pitre
Quoted 2 lines · Gilles Chanteperdrix

Hi,

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

It seems the FAQ here:
http://www.arm.linux.org.uk/mailinglists/faq.php#f4

is a bit outdated, since it does not mention that EABI solves the issue.

And just how would EABI solve the issue?

By allowing to mix soft-float and hard-float programs with only one libc?

Err... How?

Nicolas

#4 lore raw
Quoted 7 lines · Nicolas Pitre
Quoted 5 lines · Gilles Chanteperdrix
Quoted 4 lines · Nicolas Pitre
Quoted 2 lines · Gilles Chanteperdrix

Hi,

Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines

It seems the FAQ here:
http://www.arm.linux.org.uk/mailinglists/faq.php#f4

is a bit outdated, since it does not mention that EABI solves the issue.

And just how would EABI solve the issue?

By allowing to mix soft-float and hard-float programs with only one libc?

Err... How?

Well, I read somewhere that EABI allows mixing soft-float and hard-float code and must have assumed it was true. But you made me doubt.

But since compiling both a hard-float program and a soft-float program with the same toolchain does not produce any compilation or link-edition error, I still tend to think it is true.

I just need to run the test on actual hardware to finish checking.

Signature · 1 line
					    Gilles.
#6 lore raw
In reply to Nicolas Pitre
Quoted 7 lines · Nicolas Pitre
Quoted 5 lines · Gilles Chanteperdrix
Quoted 4 lines · Nicolas Pitre
Quoted 2 lines · Gilles Chanteperdrix

Hi,

Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines

It seems the FAQ here:
http://www.arm.linux.org.uk/mailinglists/faq.php#f4

is a bit outdated, since it does not mention that EABI solves the issue.

And just how would EABI solve the issue?

By allowing to mix soft-float and hard-float programs with only one libc?

Err... How?

Right, it does not work, so, what does:
"Allows the mixing of softfloat and hardfloat code"

is supposed to mean here for instance:
http://www.eurotech-inc.com/embedded-eabi-linux.asp

Signature · 1 line
					    Gilles.
#5 lore raw
In reply to Gilles Chanteperdrix
Quoted 15 lines · Gilles Chanteperdrix
Quoted 14 lines · Nicolas Pitre
Quoted 11 lines · Gilles Chanteperdrix
Quoted 9 lines · Nicolas Pitre
Quoted 6 lines · Gilles Chanteperdrix

Hi,

It seems the FAQ here:
http://www.arm.linux.org.uk/mailinglists/faq.php#f4

is a bit outdated, since it does not mention that EABI solves the issue.

And just how would EABI solve the issue?

By allowing to mix soft-float and hard-float programs with only one libc?

Quoted 8 lines
Quoted 1 line

Err... How?

Well, I read somewhere that EABI allows mixing soft-float and hard-float code and must have assumed it was true. But you made me doubt.

But since compiling both a hard-float program and a soft-float program with the same toolchain does not produce any compilation or link-edition error, I still tend to think it is true.

Well, actually it seems that gcc can only do -mfloat-abi=softfp and surprizingly -mfloat-abi=hard is unimplemented for VFP. So in that case mixing soft and hard float objects is fine.

Nicolas

#7 lore raw
In reply to Gilles Chanteperdrix
Quoted 5 lines · Gilles Chanteperdrix

Right, it does not work, so, what does:
"Allows the mixing of softfloat and hardfloat code"

is supposed to mean here for instance:
http://www.eurotech-inc.com/embedded-eabi-linux.asp

As I just posted, it looks like gcc only implemented the soft-float ABI when using VFP. So if your CPU is VFP capable then using -mfloat-abi=softfp should produce actual VFP instructions while still passing function arguments around using non VFP registers.

Nicolas

#8 lore raw
Quoted 5 lines · Nicolas Pitre
Quoted 3 lines · Gilles Chanteperdrix

Right, it does not work, so, what does:
"Allows the mixing of softfloat and hardfloat code"

Quoted 7 lines
Quoted 2 lines

is supposed to mean here for instance:
http://www.eurotech-inc.com/embedded-eabi-linux.asp

As I just posted, it looks like gcc only implemented the soft-float ABI when using VFP. ?So if your CPU is VFP capable then using -mfloat-abi=softfp should produce actual VFP instructions while still passing function arguments around using non VFP registers.

Didn't latest CodeSourcery ARM toolchain (2009q1) add hardfp?

Laurent

#9 lore raw
Quoted 9 lines · Laurent Desnogues
Quoted 8 lines · Nicolas Pitre
Quoted 5 lines · Gilles Chanteperdrix

Right, it does not work, so, what does:
"Allows the mixing of softfloat and hardfloat code"

is supposed to mean here for instance:
http://www.eurotech-inc.com/embedded-eabi-linux.asp

Quoted 6 lines
Quoted 4 lines

As I just posted, it looks like gcc only implemented the soft-float ABI when using VFP. ?So if your CPU is VFP capable then using -mfloat-abi=softfp should produce actual VFP instructions while still passing function arguments around using non VFP registers.

Didn't latest CodeSourcery ARM toolchain (2009q1) add hardfp?

I don't know. If so then the FAQ entry about not being able to mix hard-float and soft-float would still apply when using that mode.

Nicolas