-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Arduino IDE 1.5.2 platform.txt file. recipe.c.combine.pattern contains "{build.path}/syscalls_sam3.c.o" and {object_files}. #1287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
hi @jantje, the original problem was that the syscalls_sam3.c.o object was discarded by the linker for some unknown reasons. This lead to build fails while using malloc() for example. If we put the file in the linking group it gets linked correctly. This is a ""temporary"" workaround, we must figure out why gcc fails to link against it from core.a since theoretically it should work. C |
C on the platform.txt subject: |
I just ran into this issue (g++ not linking properly from core.a) and found a better solution: the "--whole-archive" linker option ensures that all the object files are linked, not just the parts that g++ thinks are needed. This is the relevant part of my
Credit for the solution goes to this thread http://stackoverflow.com/questions/953020/using-ar-to-combine-o-and-a-files-linux |
Using As for the original problem, I'm not sure how that file is supposed to work. It only defines functions like Perhaps a workaround could be to add an empty function |
This has been fixed a long time ago |
Hi
I'm currently working on porting my arduino eclipse plugin to Arduino IDE 1.5.2. I first would like to say I like the idea of having the configuration in an external file so it allows for a great deal of flexibility and can be reused by other tools.
When working with it however I have some questions/doubts for which I hope this is the forum to discuss. (the google forum is dead :-( ; and the old mailing list doesn't work any more for me)
My biggest question right now is about
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group
This patters contains "{build.path}/syscalls_sam3.c.o" and {object_files}
There are 2 problems I have with that.
So my question is : could "{build.path}/syscalls_sam3.c.o" be removed?
Best regards
Jantje
The text was updated successfully, but these errors were encountered: