We've had an OOB sync w/ Simon and Ioanna, and it was agreed to let this one be sponsored separately from Simon's usual glibc uploads.
@joalif: your debdiff looks good overall, thanks! Given this is fixing cross-compilation for both i386 and m68k, could you add that second arch into the test plan? I'm going to sponsor this for Noble, as my test plan request is a minor change that should hopefully be trivial to include and test. Thanks! -- You received this bug notification because you are a member of Debcrafters packages, which is subscribed to glibc in Ubuntu. https://bugs.launchpad.net/bugs/2036283 Title: i386 glibc is missing fmod in libm.a Status in glibc package in Ubuntu: Fix Released Status in zsh package in Ubuntu: Invalid Status in glibc source package in Noble: In Progress Status in zsh source package in Noble: Invalid Bug description: [Impact] The `libm.a` static library on i386 architecture lacks the math function `fmod`. This will break static compilation in scenarios where programs expect the function to exist. (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 -- Mailing list: https://launchpad.net/~debcrafters-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~debcrafters-packages More help : https://help.launchpad.net/ListHelp

