debug: Fix clang open fortify wrapper (BZ 31927)

The fcntl.h fortify wrapper for clang added by 86889e22db
missed the __fortify_clang_overload_arg and and also added the
mode argument for the __fortify_function_error_function function,
which leads clang to be able to correct resolve which overloaded
function it should emit.

Checked on x86_64-linux-gnu.

Reported-by: Khem Raj <raj.khem@gmail.com>
Tested-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Adhemerval Zanella 2024-06-25 11:57:15 -03:00
parent c5579f3a71
commit 4228baef1a

View File

@ -62,7 +62,7 @@ open (const char *__path, int __oflag, ...)
}
#elif __fortify_use_clang
__fortify_function_error_function __attribute_overloadable__ int
open (const char *__path, int __oflag, mode_t __mode, ...)
open (__fortify_clang_overload_arg (const char *, ,__path), int __oflag, ...)
__fortify_clang_unavailable ("open can be called either with 2 or 3 arguments, not more");
__fortify_function __attribute_overloadable__ int