[glibc/azanella/clang] elf: Fix tests that require interposable symbols
Adhemerval Zanella
azanella@sourceware.org
Tue Apr 2 16:00:38 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c551185493dc92d7704fbdabc8bbd8271000fe36
commit c551185493dc92d7704fbdabc8bbd8271000fe36
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Wed Jan 17 15:21:25 2024 -0300
elf: Fix tests that require interposable symbols
clang defaults to -fsemantic-interposition, which in turn trigger some
optimizations (like inline) that makes some tests that rely on ELF
symbol interposition to fail. For this case, explicit set the symbol as
weak to avoid it.
Diff:
---
elf/tst-dlclose-lazy-mod2.c | 1 +
elf/tst-piemod1.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/elf/tst-dlclose-lazy-mod2.c b/elf/tst-dlclose-lazy-mod2.c
index d1ae34330c..544803ca3e 100644
--- a/elf/tst-dlclose-lazy-mod2.c
+++ b/elf/tst-dlclose-lazy-mod2.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
void
+__attribute__ ((weak))
exported_function (int ignored)
{
/* This function is interposed from tst-dlclose-lazy-mod1.so and
diff --git a/elf/tst-piemod1.c b/elf/tst-piemod1.c
index 72d7e0a187..225c057ea3 100644
--- a/elf/tst-piemod1.c
+++ b/elf/tst-piemod1.c
@@ -1,6 +1,7 @@
#include <stdio.h>
int
+__attribute__((weak))
foo (void)
{
return 21;
More information about the Glibc-cvs
mailing list