Re: Fix some "call to function ... through pointer to incorrect function type" errors
Lasse Collin <[email protected]>
| Newsgroups | gmane.comp.lib.gnulib.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 2026-08-15 Bruno Haible wrote:
> Indeed, I see a few test failures in the test cases, still (despite
> the no_sanitize ("function") attributes). Fixing them through the
> attached patch.
Thanks!
> But some other test failures will remain:
> - jit/test-cache,
> - test-list-c++, test-map-c++, test-omap-c++, test-oset-c++.
>
> The reason is that C is not only used for application programming —
> for which the above options "-flto -fsanitize=cfi -fvisibility=hidden"
> make sense [except for GNOME / Qt and their "signals"] — but also for
> system programming, where treating functions of different prototypes
> in the same way is commonplace (think of libffi or libffcall), or for
> generics (where C++ programmers like to have 10 different code
> instantiations for 10 different pointer types, but C programmers don't
> like that).
Maybe there are solutions to those (maybe the nocf_check attribute), but
fixing them doesn't sound urgent. Currently Linux on x86-64 supports
shadow stack (backward edge CFI) for userspace, but indirect branch
tracking (forward edge CFI) isn't supported for userspace yet.[1]
[1] https://lkml.org/lkml/2026/5/17/734
--
Lasse Collin