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
118 subscribers
Views
5516 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
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