FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.12k stars 1.2k forks source link

Despite passing the relevant checks, these symbols are not generated #16307

Closed Jinl-jia closed 6 days ago

Jinl-jia commented 1 week ago

Description

CHECK: checking whether mips-linux-gcc -std=gnu11 supports -fplugin=frr-format... no checking whether linker supports __start/stop_section symbols... yes checking if compiler needs -Werror to reject unknown flags... no checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no ERROR: /tmp/ccCrhM50.s:17: Error: can't resolve __start_xref_array' {*UND* section} -L0' {.note.FRR section} /tmp/ccCrhM50.s:18: Error: can't resolve __stop_xref_array' {*UND* section} -L0' {.note.FRR section}

Version

CROSS_COMPILE MIPS-LINUX-GCC 4.8.5
FRR VERSION 8.5.2
HOST VERSION CENTOS 7

How to reproduce

CROSS_COMPILE

Expected behavior

start_xref_array and stop_xref_array shall begenerated

Actual behavior

All versions of gcc-4.8.5 cross-compile tools will return the same ERROR.

Additional context

No response

Checklist

eqvinox commented 6 days ago

This is a binutils (ld) problem, not a GCC problem. But since your GCC is 9 years old, presumably your binutils are equally old and therefore unsupported.

Please update to a supported (by upstream) version of GCC and binutils. GCC 4.8 isn't even supported by the GCC people anymore, see top of https://gcc.gnu.org/gcc-4.8/ - (This release series is no longer supported.)

Also this check in configure was added only for Solaris support, __start_* and __stop_* symbols should really work on all other OS and since Solaris support was removed this check is vestigial and should probably be removed too.