On Wed, 10 Mar 2021 11:40:42 +0800
Bin Meng <bmeng...@gmail.com> wrote:

> On Sun, Mar 7, 2021 at 12:26 PM Marek Behún <marek.be...@nic.cz> wrote:
> >
> > When building with LTO, using -ffunction-sections/-fdata-sections is not
> > useful anymore.
> >
> > Signed-off-by: Marek Behún <marek.be...@nic.cz>
> > ---
> >  arch/arm/config.mk | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >  
> 
> I believe we should also remove --gc-sections.

It seems that --gc-sections cannot be removed, otherwise some builds,
for example turris_mox_defconfig, fail with

  LTO     u-boot
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(lse-init.o): in function 
`init_have_lse_atomics':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/config/aarch64/lse-init.c:44:
 undefined reference to `__getauxval'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_absvsi2.o): in function 
`__absvdi2':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:228:
 undefined reference to `abort'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_absvsi2.o): in function 
`__absvsi2':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:246:
 undefined reference to `abort'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_absvdi2.o): in function 
`__absvti2':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:267:
 undefined reference to `abort'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_addvsi3.o): in function 
`__addvdi3':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:81:
 undefined reference to `abort'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_addvsi3.o): in function 
`__addvsi3':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:92:
 undefined reference to `abort'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_addvdi3.o):/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:106:
 more undefined references to `abort' follow
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_eprintf.o): in function 
`__eprintf':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:2152:
 undefined reference to `stderr'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:2152:
 undefined reference to `stderr'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_eprintf.o): in function 
`fprintf':
/usr/aarch64-unknown-linux-gnu/sys-include/bits/stdio2.h:103: undefined 
reference to `__fprintf_chk'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc.a(_eprintf.o): in function 
`__eprintf':
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:2153:
 undefined reference to `fflush'
/usr/libexec/gcc/aarch64-unknown-linux-gnu/ld: 
/var/tmp/portage/cross-aarch64-unknown-linux-gnu/gcc-10.2.0-r5/work/gcc-10.2.0/libgcc/libgcc2.c:2154:
 undefined reference to `abort'

Reply via email to