Use the __sync primitives in EGLIBC

Bug #643171 reported by Michael Hope
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Toolchain Miscellanies
Fix Released
Medium
Ken Werner
eglibc (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

GCC 4.4 and 4.5 have __sync_* primitives that always pick the best method based on the host architecture.

Change ports/sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h to use the sync primitives when available. It might be best to use a configure fragment instead of checking the GCC version.

Tags: patch todo

CVE References

Revision history for this message
Ken Werner (kwerner) wrote :

This patch enhances the ARM version of bits/atomic.h to make use of the atomic
builtins provided by GCC in case the backend provides a pattern to do this
efficiently.

Michael Hope (michaelh1)
Changed in linaro-toolchain-misc:
assignee: nobody → Ken Werner (kwerner)
importance: Undecided → Medium
Matthias Klose (doko)
Changed in eglibc (Ubuntu):
status: New → Fix Committed
Ken Werner (kwerner)
Changed in linaro-toolchain-misc:
status: Confirmed → In Progress
Revision history for this message
Ken Werner (kwerner) wrote :

The patch was accepted upstream and has been committed.

Changed in linaro-toolchain-misc:
status: In Progress → Fix Committed
tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.3 KiB)

This bug was fixed in the package eglibc - 2.12.1-0ubuntu11

---------------
eglibc (2.12.1-0ubuntu11) natty; urgency=low

  * Update to the eglibc 2.12 branch (r12365).
    - Fix alignment of AVX safe area on x86_64, issue #12113. LP: #662511.
    - Fix issue #12159, x86-64 strchr propagation of search byte into all bytes
      of SSE register. (LP: #615953)
    - any/cvs-audit-suid.diff, any/cvs-getlogin_r-error-handling-1.patch,
      any/cvs-getlogin_r-error-handling-2.patch, any/cvs-issue12092.diff,
      any/cvs-getlogin_r-error-handling-3.patch, any/cvs-issue12113.diff,
      any/cvs-issue11968.diff: Remove, merged upstream.
    - any/cvs-dst-expansion-fix.diff, any/submitted-etc-resolv.conf.diff,
      locale/locale-print-LANGUAGE.diff: Updated.

  * Sort changelog entries with bzr-builddeb's merge_changelog to help merging
    with Debian; update Debian changelog entries to their latest version, and
    drop Debian changelog entries which aren't in the unstable changelog; this
    keeps the diff between Debian unstable's changelog and Ubuntu's changelog
    minimal (only Ubuntu entries) and makes it easier to review new Debian
    changes.
  * Copy binutils [mips mipsel] build-dep to minimize delta with Debian's
    build-deps.
  * Drop Vcs-Bzr; this package is now maintained in lp:ubuntu/eglibc.
  * Drop version in texinfo build-dep; this is satisfied even in dapper.
  * Move belocs-locales-bin conflicts around to lower the diff with Debian's
    control.
  * Copy Debian's libc6-dev-i386 Conflicts with libc6-i386 (<= 2.9-18) for
    some older upgrades; this seems to apply to Ubuntu as well, and reduces
    the delta with Debian just a bit. libc6-dev-i386 is not a commonly
    installed package, and this is satisfied in lucid and later anyway, so it
    shouldn't make upgrades harder, except if people use backports.
  * Drop debian/control.in/libc0.1, libc0.3, libc6, and libc6.1 (these are
    automatically generated) after confirming that generating them results in
    the same data.
  * Drop debian/debhelper.in/glibc-doc.docs; ChangeLog* is already listed in
    debian/debhelper.in/glibc-doc.install.
  * Drop debian/debhelper.in/libc-alt-dev.postinst as it only helps powerpc
    upgrades from dapper versions which aren't supported on powerpc anymore.
  * debian/debhelper.in/libc.postinst: drop inconsistent quotes around 2.12.
  * debian/local/manpages/gencat.1, iconvconfig.8, mtrace.1: revert differing
    RCS timestamps.
  * debian/patches/series: drop reference to changelog version with respect to
    local-ipv6-lookup.diff as the reference is bogus.
  * Drop debian/patches/alpha/submitted-getsysstats.diff,
    submitted-includes.diff, submitted-lowlevellock.diff,
    submitted-procfs_h.diff; these should have been dropped in earlier merges
    as they are not applied anymore and were dropped from Debian.
  * Drop commented-out hppa/* lines from patches/series to be consistent with
    how other arches were handled.
  * debian/sysdeps/amd64.mk: symlink ld-linux with the same rune as Debian.
  * Drop changes to debian/sysdeps/hurd.mk; Ubuntu doesn't build for Hurd.
  * Remove debian/wrapper/objcopy; was dropped in Debian already...

Read more...

Changed in eglibc (Ubuntu):
status: Fix Committed → Fix Released
Michael Hope (michaelh1)
Changed in linaro-toolchain-misc:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints