pulp-platform / ri5cy_gnu_toolchain

22 stars 23 forks source link

riscv32-unknown-elf/bin/ld: can't relax section: No more archived files #15

Closed deepsrc closed 6 years ago

deepsrc commented 6 years ago

This failure is generated during the link for the elf, when compress instructions are mixed with non compressed instructions in a .s file

On debugging, it was found that the failure occurs only when the end of the instruction buffer is not aligned to 4 bytes i.e. the number of compressed instructions in the .s file is odd. In order to make forward progress, we have added a c.nop at the end of .s file whenever the total number of compressed instructions generated is an odd number

haugoug commented 6 years ago

Could you provide a basic example so that we reproduce the issue ?

deepsrc commented 6 years ago

Sorry, I didn't see the update. I will reproduce the issue and send you the files.

haugoug commented 6 years ago

Please try with the new toolchain here and reopen the issue there if it is still there: https://github.com/pulp-platform/pulp-riscv-gnu-toolchain