Bug 220258 - ICE when using 64-bit sync primitives for x86
ICE when using 64-bit sync primitives for x86
Product: Fedora
Classification: Fedora
Component: gcc (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Depends On:
  Show dependency treegraph
Reported: 2006-12-19 17:38 EST by Ulrich Drepper
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-12-21 03:08:08 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
GNU Compiler Collection 27266 None None None Never

  None (edit)
Description Ulrich Drepper 2006-12-19 17:38:02 EST
Description of problem:
This little piece of code ICEs gcc when compiled for x86:

long long a;
void f(long long b) {
  __sync_bool_compare_and_swap (&a, 1, b);

It is necessary to add -march=i686 to the command line to enable using cmpxchg8b.

Version-Release number of selected component (if applicable):

How reproducible:
always when compiling on x86-64 with -m32
haven't tried native x86

Steps to Reproduce:
1.gcc -S -m32 ice.c -march=i686
Actual results:
u.c: In function ‘f’:
u.c:3: internal compiler error: Segmentation fault

Expected results:
Code using cmpxchg8b

Additional info:
Comment 1 Jakub Jelinek 2006-12-21 03:08:08 EST
Fixed in gcc-4.1.1-48.

Note You need to log in before you can comment on or make changes to this bug.