Bug 492174 - qt fails to build on ia64
Summary: qt fails to build on ia64
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: qt
Version: 11
Hardware: ia64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-03-25 18:18 UTC by Doug Chapman
Modified: 2009-09-08 11:22 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-09-08 11:22:55 UTC
Type: ---
Embargoed:


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

Description Doug Chapman 2009-03-25 18:18:59 UTC
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):
qt4-4.5.0-9


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Rex Dieter 2009-03-28 16:21:53 UTC
Thanks, but I don't see any patch here.

Comment 2 Doug Chapman 2009-03-30 15:49:30 UTC
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 16:03:56 UTC
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 16:40:43 UTC
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.

thanks,

- Doug

Comment 5 Kevin Kofler 2009-03-30 19:16:43 UTC
Why don't you use __attribute__((used)) instead of pessimizing the string into a non-constant one?

Comment 6 Bug Zapper 2009-06-09 12:37:43 UTC
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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Than Ngo 2009-09-08 11:22:55 UTC
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.