Bug 492174 - qt fails to build on ia64
qt fails to build on ia64
Product: Fedora
Classification: Fedora
Component: qt (Show other bugs)
ia64 Linux
low Severity medium
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2009-03-25 14:18 EDT by Doug Chapman
Modified: 2009-09-08 07:22 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-09-08 07:22:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
patch to fix build on ia64 (749 bytes, patch)
2009-03-30 11:49 EDT, Doug Chapman
no flags Details | Diff

  None (edit)
Description Doug Chapman 2009-03-25 14:18:59 EDT
Description of problem:
qt fails to build with recent gcc.  If fails with:

/builddir/build/BUILD/qt-x11-opensource-src-4.5.0/src/corelib/global/qlibraryinfo.cpp:573: undefined reference to `boilerplate'

This is because on ia64 boilerplate is used by some inline asm code and it appears gcc is optimizing the symbol out so it is not available to the assembler.

I am attaching a simple patch that resolves this.

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

How reproducible:

Steps to Reproduce:
Actual results:

Expected results:

Additional info:
Comment 1 Rex Dieter 2009-03-28 12:21:53 EDT
Thanks, but I don't see any patch here.
Comment 2 Doug Chapman 2009-03-30 11:49:30 EDT
Created attachment 337226 [details]
patch to fix build on ia64

Oops, guess I forgot to attach this when I filed it.
Comment 3 Rex Dieter 2009-03-30 12:03:56 EDT
I'm ok with including this at least temporarily until gcc is fixed (my understanding is this patch is simply to workaround a gcc bug, right?).

Anyway, if not done so already, please file an issue against gcc, so we'll know when we can drop the workaround.
Comment 4 Doug Chapman 2009-03-30 12:40:43 EDT
I don't think this is a gcc bug.  The real problem is the inline asm code included in qt.  I think it is perfectly valid for gcc to optimize those values out in this case.  Technically it is the inline asm code in qt for ia64 that is breaking the rules by hard coding "boilerplate" into it instead of having that passed as a paramter (as in the x86 asm code).  What we probably should do is re-write the asm code but that is way beyond me.  I can try to find an ia64 expert to re-write that and provide a new patch.

In the meantime since qt is needed by so many other packages I would appreciate it if we could pull in this patch for now at least.


- Doug
Comment 5 Kevin Kofler 2009-03-30 15:16:43 EDT
Why don't you use __attribute__((used)) instead of pessimizing the string into a non-constant one?
Comment 6 Bug Zapper 2009-06-09 08:37:43 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
Comment 7 Ngo Than 2009-09-08 07:22:55 EDT
it's fixed in qt-4.5.2

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