Arm Community
Site
Search
User
Site
Search
User
Arm Developer
Documentation
Learning Paths
On-Demand Videos
Groups
Arm Ambassadors
Education Hub
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Automotive forum
Compilers and Libraries forum
Embedded and Microcontrollers forum
Internet of Things (IoT) forum
Keil forum
Laptops and Desktops forum
Mobile, Graphics, and Gaming forum
Morello forum
Operating Systems forum
Servers and Cloud Computing forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI blog
Announcements
Architectures and Processors blog
Automotive blog
Embedded and Microcontrollers blog
Internet of Things (IoT) blog
Laptops and Desktops blog
Mobile, Graphics, and Gaming blog
Operating Systems blog
Servers and Cloud Computing blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Arm Development Studio forum
Building Linux applications/libs in GCC emulation mode
Jump...
Cancel
Locked
Locked
Replies
5 replies
Subscribers
120 subscribers
Views
3926 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
Building Linux applications/libs in GCC emulation mode
Marius Cetateanu
over 11 years ago
Marius Cetateanu
over 11 years ago
Note: This was originally posted on 25th May 2011 at
http://forums.arm.com
bump
I managed to figure out more or less the first point of my previous post.
But I still get the linker errors and the crash with O3 optimizations.
Does anyone have any idea?
Any leads would be appreciated as I have just a few days left of my evaluation copy of the DS-5
.
Thanks
Cancel
Vote up
0
Vote down
Cancel
Marius Cetateanu
over 11 years ago
Note: This was originally posted on 27th May 2011 at
http://forums.arm.com
Maybe this will help someone ... as it seems that this thread is becoming a monologue
After updating to the latest CodeSourcery toolchain for ARM Linux I got rid of most of the warnings except for the below one
Warning: L6439W: Multiply defined Global Symbol LogProxy::LogProxy(int) defined in invalid_group(XXXXX.o) rejected in favor of Symbol defined in i._ZN8LogProxyC1Ei(YYYYY.o).
I know what the message means(or at least I suppose I know) but I cannot figure out why I'm getting it - it's
really, really confusing as I do not get it with GCC. So the best guess is that the ARM linker tries to link my
libraries/object files multiple times. How can I see what exactly is the command line of the armcc/armlink in
GCC emulation mode? I mean the real command line - the one after the GCC emulation takes place,
because I have the one generated by the build system which does not tell me much.
Thanks
Cancel
Vote up
0
Vote down
Cancel
Alban Rampon
over 11 years ago
Note: This was originally posted on 2nd June 2011 at
http://forums.arm.com
Hello Celavek,
First, I can confirm you are not talking to yourself.
Looking at your warning, I would understand that despite it, you still get a proper working code.
The way I understand it (and I have not used DS-5 but other tools in the past) is that you have a double declaration.
In my old programmers days (!), it meant that I didn't use the EXTERN word in the second declaration and was therefore ending with two different variables with the same name... and was getting a linker failure.
Here, I think the linker understands that names are the same and chose one declaration over the other one.
Have you search your project for all declarations of that symbol and is it only declared once?
Can you still try?
Kindly, Alban
Cancel
Vote up
0
Vote down
Cancel
Edmund Player
over 11 years ago
Note: This was originally posted on 2nd June 2011 at
http://forums.arm.com
[font=arial, verdana, tahoma, sans-serif][size=2]I have played around with this... it doesn't look like armcc translates any of the -Wxyz warning options from gcc (except -Wall). But, it seems to handle -f* options where its has equivalentsI think that warning L6238E is harmless in almost all cases; it is given by armlink because libgcc and other GCC/GNU assembler-built libraries don't contain ARM build attributes for marking that 8-byte stack alignment is required/preserved. You could just suppress this globally by setting ARMCC50_LINKOPT="--diag_suppress=6238". Warning L6439W is again harmless; it'll most likely be generated for out-of-line copies of inline functions in Comdat groups, where GCC hasn't strictly followed ELF rules about the groups and therefore armlink is rejecting that copy and instead using a copy from the same Comdat group that was generated in one of the armcc-compiled object files.Updating to the latest GNU toolchain is also worth a punt.
[/size][/font]
Cancel
Vote up
0
Vote down
Cancel
Kinzerskiy Vladyslav
over 11 years ago
Cancel
Vote up
0
Vote down
Cancel