-
Notifications
You must be signed in to change notification settings - Fork 1
Weakly undefined symbols #9
Comments
|
Here is I've used
to get .ll from .cpp (just like original Arduino IDE does, except i've replaced I'm able to find |
also i can see some 'extern_weak' attributes:
|
This means that this is not a clang problem, but an LLVM problem. |
LLVM does support weak linkage here. Function signatures can also be annotated with The problem must be deeper. |
as you can see in SO question, i've tried Apple's LLVM/Clang and non-avr sources and it can't link. I believe it's a bug, but i've asked the question to both cfe-users@ and cfe-dev@ maillists. |
... manually with teh zsh script at the beginning. Ideally, it should be run by waf. Aliases are disabled for now while I confirm clang support for weak linking. avr-llvm/clang#9
... manually with teh zsh script at the beginning. Ideally, it should be run by waf. Aliases are disabled for now while I confirm clang support for weak linking. avr-llvm/clang#9
Note: Migrated from here.
Weakly defined symbols like so (taken from Arduino):
Are failing during the link stage due to undefined references to the weak symbols (by GNU's
avr-ld
). Weak symbols have the property that if they are not defined, they are set to null instead. It makes no sense for a weak undefined symbol, thus this error must lay withclang
orllvm
not placing theweak
attribute in the ELF object file.The text was updated successfully, but these errors were encountered: