glibc: some long double math routines for PPC64 are wrong: patches

Bug #1294588 reported by Tony Reix
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Invalid
Undecided
Unassigned
Trusty
New
Undecided
Adam Conrad
glibc (Ubuntu)
Fix Released
Undecided
Adam Conrad
Trusty
Invalid
Undecided
Unassigned

Bug Description

Within glibc (2.19 on Ubuntu, but also on 2.17), some "long double" routines for PPC64 are wrong: both .c and .S files exist, and .S files are taken first though they are old and wrong. The bugs appear for some cases (for ceill(), second double is wrong). The fix is easy: remove the wrong .S files so that the correct .c files are used for building libm.so (/lib/powerpc64le-linux-gnu/libm-2.19.so).

The impacted routines are: ceill, roundl, etc.
The patches have already been integrated into glibc at sourceware.org :

Assuming GLIBC 2.19, you need these patches:
https://sourceware.org/git/?p=glibc.git;a=commit;h=374f7f61214967bb4e2257695aeeeecc2a77f369
https://sourceware.org/git/?p=glibc.git;a=commit;h=98fb27a373f37554232e0060eef1a5bb00a07eb0
https://sourceware.org/git/?p=glibc.git;a=commit;h=c7de50250367167d8c9f35594b264f6a0af8dd0c

Regards,

Tony

CVE References

Tony Reix (tony-reix)
affects: pcre3 (Ubuntu) → eglibc (Ubuntu)
Adam Conrad (adconrad)
Changed in eglibc (Ubuntu):
status: New → Invalid
Changed in glibc (Ubuntu Trusty):
status: New → Invalid
Adam Conrad (adconrad)
Changed in eglibc (Ubuntu Trusty):
assignee: nobody → Adam Conrad (adconrad)
Changed in glibc (Ubuntu):
assignee: nobody → Adam Conrad (adconrad)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.6 KiB)

This bug was fixed in the package glibc - 2.19-4ubuntu1

---------------
glibc (2.19-4ubuntu1) utopic; urgency=medium

  * Merge with Debian unstable, switching us to glibc and fixing bugs:
    - Fix invalid fd reuse while sending DNS queries (LP: #1328975)
    - Avoid Freescale 8xx dcbz workaround on ppc64el (LP: #1333499)
    - Remove wrong ibm long double assembly routines (LP: #1294588)
    - Fix incorrect frexpl results with long doubles (LP: #1333506)
  * debian/patches/powerpc/local-tune-power8.diff: When configured for
    --with-cpu=power7, adjust -mtune for power8 instead (LP: #1333524)

glibc (2.19-4) unstable; urgency=medium

  [ Aurelien Jarno ]
  * debian/debhelper.in/libc.{preinst,postrm,postinst}: correctly remove
    old ld.so configuration if more than one libc6 package is installed
    (multiarch case). Closes: #752389, #752404.

  [ Samuel Thibault ]
  * patches/hurd-i386/tg-tls-threadvar.diff: Update to fix gcc-4.9 build.

  [ Adam Conrad ]
  * debian/control.in/main: glibc-source Conflics/Replaces eglibc-source.
  * debian/patches/powerpc/local-powerpc8xx-dcbz.diff: Restrict the trap
    to 32-bit builds, since the Freescale 8xx CPUs aren't 64-bit capable.

glibc (2.19-3experimental0) experimental; urgency=medium

  [ Aurelien Jarno]
  * Switch back to glibc sources:
    - debian/control.in/*: replace eglibc by glibc, update descriptions.
    - rename debian/debhelper.in/eglibc-source.install into
      glibc-source.install.
    - rename debian/debhelper.in/eglibc-source.lintian-overrides into
      glibc-source.lintian-overrides.
    - rename debian/eglibc-source.filelist into glibc-source.filelist
    - debian/copyright: update.
    - debian/rules, debian/rules.d/*: replace eglibc by glibc.
    - source/lintian-overrides: replace eglibc by glibc.
    - debian/sysdeps/*: replace eglibc by glibc.
    - debian/po/*: update using debconf-updatepo.
    - debian/rules.d/tarball.mk: rewrite to generate the orig tarball and
      to fetch the branch updates through git.
    - patches/any/submitted-nl_langinfo-static.diff: refresh.
    - patches/any/submitted-ldsodefs_rtld_debug.diff: drop.
    - patches/any/local-dynamic-resolvconf.diff: new patch from the eglibc
      tree to dynamically take into account changes in resolv.conf.
    - patches/powerpc/local-powerpc8xx-dcbz.diff: new patch from the eglibc
      tree to workaround dcbz issues on PowerPC 8XX CPUs.
    - patches/sh4/local-fpscr_values.diff: new patch from eglibc tree to
      export the ___fpscr_values symbol on SH4.
    - patches/any/local-libpic.diff: new patch from eglibc tree to install
      *_pic.a files.
    - patches/any/local-bootstrap-headers.diff: new patch from eglibc tree
      to ease header installation when bootstrapping.

eglibc (2.19-3) unstable; urgency=medium

  [ Aurelien Jarno ]
  * debian/control.in/libc: fix libtirpc1 breaks. Closes: #751852.
  * debian/rules.d/build.mk: generate ld.so configuration file using
    DEB_HOST_MULTIARCH instead of DEB_HOST_GNU_TYPE to have a stable
    path even when the GNU triplet change.
  * debian/debhelper.in/libc.{preinst,postrm,postinst}: remove old
    ld.so configuration file on hurd-i386, i386 and k...

Read more...

Changed in glibc (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.