Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Setting output EABI version in RVCT3.1
Jump...
Cancel
Locked
Locked
Replies
5 replies
Subscribers
119 subscribers
Views
5428 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Setting output EABI version in RVCT3.1
Sneha Pallapotu
over 12 years ago
Note: This was originally posted on 15th May 2013 at
http://forums.arm.com
Hi I am using a library built with RVCT3.1 and linking it to my linux application using arm-elf-gcc-4.6.1, I am getting an error of EABI versions mis-match.
RVCT3.1 generates a EABI version 5 and arm-elf-gcc is giving a EABI version 0, Is there a way to set the RVCT output EABI version (to make it backward compatible)
or to set the arm-elf-gcc EABI version to make the library and application objects compatible.
Scott Douglass
over 12 years ago
Note: This was originally posted on 16th May 2013 at
http://forums.arm.com
I don't think there's any way to change what EABI version RVCT 3.1 produces. I'm surprised to see gcc producing version 0. Are you using '-flto'?
If you're really sure that the EABI mismatch doesn't matter you can use --no-warn-mismatch when linking (with GNU ld), but you're inviting a lot of debugging pain if the EABI mismatch does, in fact, matter.
Cancel
Vote up
0
Vote down
Cancel
Sneha Pallapotu
over 12 years ago
Note: This was originally posted on 16th May 2013 at
http://forums.arm.com
I am not using the -flto option.
I am not sure if EABI mismatch would cause a problem in program execution as such but I was under the impression that objects of different EABI versions are incompatible.
Anyway, still I tried using "[size=2]--no-warn-mismatch" in my GNU makefile, it gives me following error[/size]
arm-elf-gcc: error: unrecognized option '--no-warn-mismatch'
Cancel
Vote up
0
Vote down
Cancel
Scott Douglass
over 12 years ago
Note: This was originally posted on 16th May 2013 at
http://forums.arm.com
If you're passing it to gcc you'll need to mark the option as a linker option: -Wl,--no-warn-mismatch
Cancel
Vote up
0
Vote down
Cancel
Sneha Pallapotu
over 12 years ago
Note: This was originally posted on 17th May 2013 at
http://forums.arm.com
Thanks scott. The solution worked and I am able to get my final library after partial linking..Will check if the version mismatch is causing any problem while running..
but observed a strange behavior: the error message I was getting earlier said
error: Source object *.o has EABI version 5, but target ../lib/*.a has EABI version 0
But Now after building with option --no-warn-mismatch, when I check the EABI version of generated *.a, its GNU EABI 4 !!!
Any idea why this discrepancy?
Cancel
Vote up
0
Vote down
Cancel
Scott Douglass
over 12 years ago
Note: This was originally posted on 20th May 2013 at
http://forums.arm.com
Is your .a file an archive (from ar) or a partial link? (or something else?). Maybe show the command-line that produces it.
(But even with the command-line, I don't think I'll have an answer. Maybe try asking the same place you the got the GNU tools?)
Cancel
Vote up
0
Vote down
Cancel