summaryrefslogtreecommitdiffstats
path: root/package/json-c
diff options
context:
space:
mode:
authorPeter Korsgaard <peter@korsgaard.com>2018-08-27 23:16:42 +0200
committerPeter Korsgaard <peter@korsgaard.com>2018-08-28 09:53:50 +0200
commit11241ac656af569894ead9561ebf53abb5d5f18d (patch)
tree1b0f09b6913cd0f72c70a54b40a55ba36de151a0 /package/json-c
parent68fe6d7d00ad5c998ee05d48cf1dbb6450621966 (diff)
downloadbuildroot-11241ac656af569894ead9561ebf53abb5d5f18d.tar.gz
buildroot-11241ac656af569894ead9561ebf53abb5d5f18d.zip
mbedtls: fix x86 PIC build with GCC < 5
Fixes: http://autobuild.buildroot.net/results/d6d/d6dc9a640aa1f6650a3e7b9397f2fe2ae3433f4d/ http://autobuild.buildroot.net/results/ab5/ab5a58ea7845f9f378454ee1aa7e872448618ba9/ ebx was recently added to the x86 inline asm MULADDC_STOP clobber list to fix #1550, but this causes the build to fail with GCC < 5 when building in PIC mode with errors like: include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ This is because older GCC versions treated the x86 ebx register (which is used for the GOT) as a fixed reserved register when building as PIC. This is fixed by an improved register allocator in GCC 5+. From the release notes: Register allocation improvements: Reuse of the PIC hard register, instead of using a fixed register, was implemented on x86/x86-64 targets. This improves generated PIC code performance as more hard registers can be used. https://www.gnu.org/software/gcc/gcc-5/changes.html As a workaround, add a patch to detect this situation and disable the inline assembly, similar to the MULADDC_CANNOT_USE_R7 logic. Patch submitted upstream: https://github.com/ARMmbed/mbedtls/pull/1986 Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/json-c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud