The patch refers to [1] which says "Unfortuantely, arm-gcc defaults to
generating code for armv5t." Since we always explicitly pass the target
CPU for ARM, the default CPU shouldn't matter.
As suggested by Arnout [2], a test based on qemu_arm_versatile_defconfig
has been done without this patch and there is no regression.
[1] https://sourceware.org/ml/crossgcc/2008-05/msg00009.html
[2] http://lists.busybox.net/pipermail/buildroot/2018-May/222104.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch is present in Buildroot since a long time and has been rebased on
several version of gcc without beqing upstreamed. Also it only concern
contrib/regression, which is not used at all during the build...
As suggested by Arnout [1], a test based on qemu_x86_defconfig has
been done without this patch and there is no regression.
[1] http://lists.busybox.net/pipermail/buildroot/2018-May/222104.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
xtensa-uclinux uses bFLT executable file format that cannot relocate
fields representing offsets from data to code. C++ objects built as PIC
use offsets to encode FDE structures. As a result C++ exception handling
doesn't work correctly on xtensa-uclinux. Don't use PIC by default on
xtensa-uclinux.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We used to exclude GCC's test-suite for quite some time now
mostly for the sake of space reduction.
But:
1. On each GCC version bump we need to revise that functionality
as we need to accommodate changes in GCC sources and this
couldn't be automated
2. The space reduction is significant, but not huge. The two test
suites together take up 290MB, out of 660MB total for GCC (each of
them times two because there is the -initial and -final copy).
However, whenever we build GCC, we also have kernel headers (about
900MB) and a libc (e.g. glibc is 250MB). So at best, it saves less
than 20%.
3. It doesn't really save on build time either.
Below are timings of 2 runs on my laptop:
a) Vanilla master:
--------------------->8---------------------
time make host-gcc-final
real 7m15.114s
user 19m36.611s
sys 2m26.927s
--------------------->8---------------------
b) master + testsuite:
--------------------->8---------------------
time make host-gcc-final
real 7m59.860s
user 20m21.668s
sys 2m36.618s
--------------------->8---------------------
From figures above it's seen that difference is ~45 seconds
or ~10%. On both host-gcc-initial and -final we may save ~1.5
minutes... but these are not the only components we build and
compared to a total toolchain build time IMHO it is not that
much time to care especially traded for maintenance costs
on GCC version bumps.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
[Arnout: add explanation about size impact.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>