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

Remote bug watches

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