For a complete example, compile with clang >= 4.0:
``` static volatile int foo = 0;
void _start() { while (foo != 1) { asm volatile ("nop"); } } ```
$ clang -fropi -frwpi --target=thumbv7-eabi -c -o test.o test.c $ arm-none-eabi-ld test.o -o test test.o: In function `_start': test.c:(.text+0x28): dangerous relocation: unsupported relocation
I believe the fix would be somewhere in
static bfd_reloc_status_type elf32_arm_final_link_relocate
starting on line 9872 in `bfd/elf32-arm.c`
For a complete example, compile with clang >= 4.0:
```
static volatile int foo = 0;
void _start() {
while (foo != 1) {
asm volatile ("nop");
}
}
```
$ clang -fropi -frwpi --target= thumbv7- eabi -c -o test.o test.c (.text+ 0x28): dangerous relocation: unsupported relocation
$ arm-none-eabi-ld test.o -o test
test.o: In function `_start':
test.c:
I believe the fix would be somewhere in
static bfd_reloc_ status_ type elf32_arm_ final_link_ relocate
starting on line 9872 in `bfd/elf32-arm.c`