Bug 467658
Summary: | additional atomic support check in configure for sh (Super-H) arch | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | CHIKAMA Masaki <masaki.chikama> | ||||
Component: | cairo | Assignee: | Behdad Esfahbod <behdad> | ||||
Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | low | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | behdad, mclasen | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | sh4 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2008-10-20 16:57:24 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
This should probably be reported upstream. Fedora doesn't support that architecture... So..., could you contact upstream and push the patch please ? Please send it yourself to cairo. |
Created attachment 320835 [details] cairo-1.8.0-checkcmpxchg.patch Description of problem: The cairo uses native atomic operation (__sync_fetch_and_add and __sync_val_compare_and_swap) defined in cairo-atomic-private.h, and checks whether a system has them in configure script. But in fact, configure script checks only __sync_fetch_and_add and this causes undefined symbol on sh architecture link below. /usr/lib/gcc/sh4-redhat-linux/4.3.0/../../../libcairo.so: undefined reference to `__sync_val_compare_and_swap_4' collect2: ld returned 1 exit status This is a proposed patch for configure script to check both function. --- cairo-1.8.0/configure.org 2008-10-19 19:27:20.000000000 +0900 +++ cairo-1.8.0/configure 2008-10-19 20:29:50.000000000 +0900 @@ -22857,6 +22857,7 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int atomic_add(int i) { return __sync_fetch_and_add (&i, 1); } +int atomic_int_cmpxchg(int i, int j, int k) { return __sync_val_compare_and_swap(&i, j, k); } int main () { Version-Release number of selected component (if applicable): cairo-1.8.0-1.fc10