[Bug libc/32414] [x86_64 regression] tst-strtod5i.c:124:(.text+0x47c): undefined reference to `__copysignf128'
skpgkp2 at gmail dot com
sourceware-bugzilla@sourceware.org
Wed Dec 4 18:40:12 GMT 2024
https://sourceware.org/bugzilla/show_bug.cgi?id=32414
--- Comment #2 from Sunil Pandey <skpgkp2 at gmail dot com> ---
Full list of undefined reference
tst-strtod5.c:93:(.text+0x453): undefined reference to `copysignf32'
tst-strtod5.c:93:(.text+0x46c): undefined reference to `copysignf32'
tst-strtod5.c:93:(.text+0x5b5): undefined reference to `copysignf64'
tst-strtod5.c:93:(.text+0x5ce): undefined reference to `copysignf64'
tst-strtod5.c:93:(.text+0x71c): undefined reference to `copysignf128'
tst-strtod5.c:93:(.text+0x733): undefined reference to `copysignf128'
tst-strtod5.c:93:(.text+0x875): undefined reference to `copysignf32x'
tst-strtod5.c:93:(.text+0x88e): undefined reference to `copysignf32x'
tst-strtod5.c:93:(.text+0x9dd): undefined reference to `copysignf64x'
tst-strtod5.c:93:(.text+0x9fd): undefined reference to `copysignf64x'
tst-strtod5i.c:124:(.text+0x47c): undefined reference to `__copysignf128'
tst-strtod5i.c:124:(.text+0x493): undefined reference to `__copysignf128'
If I replace copysign in both the files with __builtin_copysign
$ git diff
diff --git a/stdlib/tst-strtod5.c b/stdlib/tst-strtod5.c
index 7eb9b3a2d7..204b0bdb43 100644
--- a/stdlib/tst-strtod5.c
+++ b/stdlib/tst-strtod5.c
@@ -73,8 +73,8 @@ test_strto ## FSUF (void)
\
} \
\
if (r != tests_strto ## FSUF[i].expected \
- || (copysign ## CSUF (10.0 ## LSUF, r) \
- != copysign ## CSUF (10.0 ## LSUF, \
+ || (__builtin_copysign ## CSUF (10.0 ## LSUF, r)
\
+ != __builtin_copysign ## CSUF (10.0 ## LSUF,
\
tests_strto ## FSUF[i].expected))) \
{ \
char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \
diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c
index 136aedea68..e934338a41 100644
--- a/stdlib/tst-strtod5i.c
+++ b/stdlib/tst-strtod5i.c
@@ -104,8 +104,8 @@ test_strto ## FSUF (void)
\
} \
\
if (r != tests_strto ## FSUF[i].expected \
- || (copysign ## CSUF (10.0 ## LSUF, r) \
- != copysign ## CSUF (10.0 ## LSUF, \
+ || (__builtin_copysign ## CSUF (10.0 ## LSUF, r)
\
+ != __builtin_copysign ## CSUF (10.0 ## LSUF,
\
tests_strto ## FSUF[i].expected))) \
{ \
char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \
When compiling with gcc 6.4, I get compile time error.
tst-strtod5.c:76:8: error: implicit declaration of function
?__builtin_copysignf32? [-Werror=implicit-function-declaration]
tst-strtod5.c:76:8: error: implicit declaration of function
?__builtin_copysignf64? [-Werror=implicit-function-declaration]
tst-strtod5.c:76:8: error: implicit declaration of function
?__builtin_copysignf32x? [-Werror=implicit-function-declaration]
tst-strtod5.c:76:8: error: implicit declaration of function
?__builtin_copysignf64x? [-Werror=implicit-function-declaration]
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list