[Bug 2036283] Re: i386 glibc is missing fmod in libm.a
Ubuntu Foundations Team Bug Bot
2036283 at bugs.launchpad.net
Thu Dec 19 16:24:23 UTC 2024
The attachment "lp2036283_noble.debdiff" seems to be a debdiff. The
ubuntu-sponsors team has been subscribed to the bug report so that they
can review and hopefully sponsor the debdiff. If the attachment isn't a
patch, please remove the "patch" flag from the attachment, remove the
"patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe
the team.
[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issue please contact him.]
** Tags added: patch
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to zsh in Ubuntu.
https://bugs.launchpad.net/bugs/2036283
Title:
i386 glibc is missing fmod in libm.a
Status in glibc package in Ubuntu:
Confirmed
Status in zsh package in Ubuntu:
Confirmed
Status in glibc source package in Noble:
Confirmed
Status in zsh source package in Noble:
New
Bug description:
[Description]
The `libm.a` static library on i386 architecture lacks the math function `fmod`:
(mantic-i386)$ readelf --syms --wide /usr/lib/i386-linux-gnu/libm.a | grep fmod
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodl_compat.o)
File: /usr/lib/i386-linux-gnu/libm.a(w_fmod_compat.o)
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf_compat.o)
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodl.o)
2: 00000000 23 FUNC GLOBAL DEFAULT 1 __ieee754_fmodl
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodl.o)
4: 00000000 148 FUNC GLOBAL DEFAULT 2 __fmodl
7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodl
9: 00000000 148 FUNC WEAK DEFAULT 2 fmodf64x
10: 00000000 148 FUNC WEAK DEFAULT 2 fmodl
File: /usr/lib/i386-linux-gnu/libm.a(e_fmod.o)
2: 00000000 23 FUNC GLOBAL DEFAULT 1 __ieee754_fmod
File: /usr/lib/i386-linux-gnu/libm.a(w_fmod.o)
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodf.o)
2: 00000000 23 FUNC GLOBAL DEFAULT 1 __ieee754_fmodf
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf.o)
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodf128.o)
7: 00000000 3227 FUNC GLOBAL DEFAULT 2 __ieee754_fmodf128
13: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
14: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf128.o)
6: 00000000 578 FUNC GLOBAL DEFAULT 2 __fmodf128
10: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
12: 00000000 578 FUNC WEAK DEFAULT 2 fmodf128
[Test Case]
On a noble host install libc6-dev:i386 package and
$ readelf --syms --wide /usr/lib/i386-linux-gnu/libm.a | grep fmod
Without the fix fmod function is not present (see readelf output of
Description).
With the fix fmod fuctions are present:
readelf --syms --wide /usr/lib/i386-linux-gnu/libm.a | grep fmod
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodl_compat.o)
File: /usr/lib/i386-linux-gnu/libm.a(w_fmod_compat.o)
4: 00000000 122 FUNC GLOBAL DEFAULT 2 __fmod
7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmod
9: 00000000 122 FUNC WEAK DEFAULT 2 fmodf32x
10: 00000000 122 FUNC WEAK DEFAULT 2 fmodf64
11: 00000000 122 FUNC WEAK DEFAULT 2 fmod
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf_compat.o)
4: 00000000 114 FUNC GLOBAL DEFAULT 2 __fmodf
7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf
9: 00000000 114 FUNC WEAK DEFAULT 2 fmodf32
10: 00000000 114 FUNC WEAK DEFAULT 2 fmodf
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodl.o)
2: 00000000 23 FUNC GLOBAL DEFAULT 1 __ieee754_fmodl
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodl.o)
4: 00000000 148 FUNC GLOBAL DEFAULT 2 __fmodl
7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodl
9: 00000000 148 FUNC WEAK DEFAULT 2 fmodf64x
10: 00000000 148 FUNC WEAK DEFAULT 2 fmodl
File: /usr/lib/i386-linux-gnu/libm.a(e_fmod.o)
2: 00000000 19 FUNC GLOBAL DEFAULT 1 __ieee754_fmod
File: /usr/lib/i386-linux-gnu/libm.a(w_fmod.o)
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodf.o)
2: 00000000 19 FUNC GLOBAL DEFAULT 1 __ieee754_fmodf
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf.o)
File: /usr/lib/i386-linux-gnu/libm.a(e_fmodf128.o)
7: 00000000 3227 FUNC GLOBAL DEFAULT 2 __ieee754_fmodf128
13: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
14: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
File: /usr/lib/i386-linux-gnu/libm.a(w_fmodf128.o)
6: 00000000 578 FUNC GLOBAL DEFAULT 2 __fmodf128
10: 00000000 0 NOTYPE GLOBAL DEFAULT UND __ieee754_fmodf128
12: 00000000 578 FUNC WEAK DEFAULT 2 fmodf128
[Regression Potential]
The patch adds the symbols fmod/fmodf for static builds for i386 and m68k.
The changes are arch specific, so any regression would affect i386 and m68k for the static libm.a.
[Other]
Fix : https://sourceware.org/git/?p=glibc.git;a=commit;h=0b716305dfb48c2d13ed4f7d06c082b90c1d226f
Affected Ubuntu releases : Noble
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/2036283/+subscriptions
More information about the foundations-bugs
mailing list