Quantcast

OMAP4 - armel vs armhf

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

OMAP4 - armel vs armhf

Michał Szymański

Hi all,

 

I’m using armhf port for OMAP4 (pandboard) installed like in this guide: http://www.chalk-elec.com/?p=1478. I need to run precompiled application, build with CodeSourcery (arm-linux-gnueabi-gcc 4.6.1). There are some floating point math operation like sin/cos/sqrt – all from <math.h>, but app was built without hard fpu flag. When trying to run it on pandaboard segmentation fault occur (I’ve checked with gdb that it’s caused by that sin() function, which is first math operation in code). I have also second board with Ubuntu11.10 which is armel, and there everything works fine. So, the question is – can I do anything on pandaboard’s side to run that application? Just to make it clear – I can’t rebuild with flag, because that app must be compatible with also with cores without FPU.

 

Thanks, regards

Michal      

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: OMAP4 - armel vs armhf

Steve Langasek
Hi Michał,

On Wed, Jun 06, 2012 at 06:43:23PM +0200, Michał Szymański wrote:

> I'm using armhf port for OMAP4 (pandboard) installed like in this guide:
> http://www.chalk-elec.com/?p=1478. I need to run precompiled application,
> build with CodeSourcery (arm-linux-gnueabi-gcc 4.6.1). There are some
> floating point math operation like sin/cos/sqrt - all from <math.h>, but app
> was built without hard fpu flag. When trying to run it on pandaboard
> segmentation fault occur (I've checked with gdb that it's caused by that
> sin() function, which is first math operation in code). I have also second
> board with Ubuntu11.10 which is armel, and there everything works fine. So,
> the question is - can I do anything on pandaboard's side to run that
> application? Just to make it clear - I can't rebuild with flag, because that
> app must be compatible with also with cores without FPU.

What's surprising is that you're able to run this application at all on
armhf: the ELF PI for armel is different than the one for armhf, so you
*should* be getting a "no such file or directory" error when trying to run
the binary.  How are you invoking the program?  Have you cross-installed
libc6:armel for compatibility, or done something else here?

The key requirement for successfully running armel binaries on armhf is to
have an ELF PI (ld.so) that can tell the difference between hard-float and
soft-float libraries on the system.  If I'm not mistaken, Debian unstable
should have this.

--
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[hidden email]                                     [hidden email]


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]
Archive: http://lists.debian.org/20120606173222.GD2929@...

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: OMAP4 - armel vs armhf

Michał Szymański
Hi Steve,

After your reply it's more clear what's going on. Debian on pandaboard is "out of box", no additional stuff installed. BUT - I was able to run my app, because previously I needed to create additional symbolic  link "ld-linux.so" (there was only the one with armhf suffix) which was required to run applications compiled with armcc compiler. I'm not sure how to do that, but now I should install libc6 armel and change target of that additional link.
Thanks for hint.

Regards,
-Michal

-----Original Message-----
From: Steve Langasek [mailto:[hidden email]]
Sent: Wednesday, June 06, 2012 7:32 PM
To: Michał Szymański
Cc: [hidden email]
Subject: Re: OMAP4 - armel vs armhf

Hi Michał,

On Wed, Jun 06, 2012 at 06:43:23PM +0200, Michał Szymański wrote:

> I'm using armhf port for OMAP4 (pandboard) installed like in this guide:
> http://www.chalk-elec.com/?p=1478. I need to run precompiled
> application, build with CodeSourcery (arm-linux-gnueabi-gcc 4.6.1).
> There are some floating point math operation like sin/cos/sqrt - all
> from <math.h>, but app was built without hard fpu flag. When trying to
> run it on pandaboard segmentation fault occur (I've checked with gdb
> that it's caused by that
> sin() function, which is first math operation in code). I have also
> second board with Ubuntu11.10 which is armel, and there everything
> works fine. So, the question is - can I do anything on pandaboard's
> side to run that application? Just to make it clear - I can't rebuild
> with flag, because that app must be compatible with also with cores without FPU.

What's surprising is that you're able to run this application at all on
armhf: the ELF PI for armel is different than the one for armhf, so you
*should* be getting a "no such file or directory" error when trying to run the binary.  How are you invoking the program?  Have you cross-installed libc6:armel for compatibility, or done something else here?

The key requirement for successfully running armel binaries on armhf is to have an ELF PI (ld.so) that can tell the difference between hard-float and soft-float libraries on the system.  If I'm not mistaken, Debian unstable should have this.

--
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[hidden email]                                     [hidden email]


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]
Archive: http://lists.debian.org/20120606173222.GD2929@...



--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]
Archive: http://lists.debian.org/000001cd4483$437e5610$ca7b0230$@gmail.com

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: OMAP4 - armel vs armhf

Michał Szymański
Hi,

Unfortunately I wasn't able to install libc6:armel on pandaboard with debian armhf. I've found some guides how to do it, eg:

sudo apt-get install libc6-armel-cross libc6-dev-armel-cross

, but every time apt-get couldn't find package. Any suggestions?

Thanks, regards
-Michal

2012/6/7 Michał Szymański <[hidden email]>
Hi Steve,

After your reply it's more clear what's going on. Debian on pandaboard is "out of box", no additional stuff installed. BUT - I was able to run my app, because previously I needed to create additional symbolic  link "ld-linux.so" (there was only the one with armhf suffix) which was required to run applications compiled with armcc compiler. I'm not sure how to do that, but now I should install libc6 armel and change target of that additional link.
Thanks for hint.

Regards,
-Michal

-----Original Message-----
From: Steve Langasek [mailto:[hidden email]]
Sent: Wednesday, June 06, 2012 7:32 PM
To: Michał Szymański
Cc: [hidden email]
Subject: Re: OMAP4 - armel vs armhf

Hi Michał,

On Wed, Jun 06, 2012 at 06:43:23PM +0200, Michał Szymański wrote:
> I'm using armhf port for OMAP4 (pandboard) installed like in this guide:
> http://www.chalk-elec.com/?p=1478. I need to run precompiled
> application, build with CodeSourcery (arm-linux-gnueabi-gcc 4.6.1).
> There are some floating point math operation like sin/cos/sqrt - all
> from <math.h>, but app was built without hard fpu flag. When trying to
> run it on pandaboard segmentation fault occur (I've checked with gdb
> that it's caused by that
> sin() function, which is first math operation in code). I have also
> second board with Ubuntu11.10 which is armel, and there everything
> works fine. So, the question is - can I do anything on pandaboard's
> side to run that application? Just to make it clear - I can't rebuild
> with flag, because that app must be compatible with also with cores without FPU.

What's surprising is that you're able to run this application at all on
armhf: the ELF PI for armel is different than the one for armhf, so you
*should* be getting a "no such file or directory" error when trying to run the binary.  How are you invoking the program?  Have you cross-installed libc6:armel for compatibility, or done something else here?

The key requirement for successfully running armel binaries on armhf is to have an ELF PI (ld.so) that can tell the difference between hard-float and soft-float libraries on the system.  If I'm not mistaken, Debian unstable should have this.

--
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[hidden email]                                     [hidden email]


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]
Archive: http://lists.debian.org/20120606173222.GD2929@...



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: OMAP4 - armel vs armhf

Lennart Sorensen
On Fri, Jun 08, 2012 at 10:27:00AM +0200, Michał Szymański wrote:
> Unfortunately I wasn't able to install libc6:armel on pandaboard with
> debian armhf. I've found some guides how to do it, eg:
>
> sudo apt-get install libc6-armel-cross libc6-dev-armel-cross

Those would be dpkg-cross packages as far as I can tell.

I think you are supposed to be able to do:

dpkg --add-architecture armel
apt-get update
apt-get install libc6-dev:armel

--
Len Sorensen


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]
Archive: http://lists.debian.org/20120608153627.GS32727@...

Loading...