libgcc: mark __hardcfr_check_fail as always_inline
The function __hardcfr_check_fail in hardcfr.c is internal and static inline. It receives many arguments, which require more than five registers to be passed in bpf-none-unknown targets. BPF is limited to that number of registers to pass arguments, and therefore libgcc fails to build in that target. This patch marks the function with the always_inline attribute, fixing the bpf build. Tested in bpf-unknown-none target and x86_64-linux-gnu host. libgcc/ChangeLog: * hardcfr.c (__hardcfr_check_fail): Mark as always_inline.
This commit is contained in:
parent
ba0869323e
commit
2eb833534c
1 changed files with 4 additions and 0 deletions
|
@ -206,6 +206,10 @@ __hardcfr_debug_cfg (size_t const blocks,
|
|||
enabled, it also forces __hardcfr_debug_cfg (above) to be compiled into an
|
||||
out-of-line function, that could be called from a debugger.
|
||||
*/
|
||||
|
||||
#ifdef __BPF__
|
||||
__attribute__((__always_inline__))
|
||||
#endif
|
||||
static inline void
|
||||
__hardcfr_check_fail (size_t const blocks ATTRIBUTE_UNUSED,
|
||||
vword const *const visited ATTRIBUTE_UNUSED,
|
||||
|
|
Loading…
Add table
Reference in a new issue