Message ID | 1459450815-6494-4-git-send-email-thomas.petazzoni@free-electrons.com |
---|---|
State | Accepted |
Commit | 97fd876f62c3106cbcafa79e5f05b0a8f14c3d9e |
Headers | show |
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > Building the musl C library on Thumb (Thumb1, not Thumb2), fails with: > {standard input}:20: Error: only lo regs allowed with immediate -- `mov fp,#0' > {standard input}:21: Error: only lo regs allowed with immediate -- `mov lr,#0' > {standard input}:25: Error: unshifted register required -- `and ip,a1,#-16' > Since there are no cores that we support that are Thumb1 only, use the > same solution as the one used by glibc: build the C library in ARM > mode. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Committed, thanks.
diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 081a700..733f940 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -23,6 +23,12 @@ MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO MUSL_INSTALL_STAGING = YES +# Thumb build is broken, build in ARM mode, since all architectures +# that support Thumb1 also support ARM. +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +MUSL_EXTRA_CFLAGS += -marm +endif + define MUSL_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \
Building the musl C library on Thumb (Thumb1, not Thumb2), fails with: {standard input}:20: Error: only lo regs allowed with immediate -- `mov fp,#0' {standard input}:21: Error: only lo regs allowed with immediate -- `mov lr,#0' {standard input}:25: Error: unshifted register required -- `and ip,a1,#-16' Since there are no cores that we support that are Thumb1 only, use the same solution as the one used by glibc: build the C library in ARM mode. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/musl/musl.mk | 6 ++++++ 1 file changed, 6 insertions(+)