Bug 485232
Summary: | build qt-4.5-rc1 breaks with internal compiler error | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Than Ngo <than> |
Component: | gcc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | jakub, kevin, rdieter |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | powerpc | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-02-16 12:48:32 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: |
Description
Than Ngo
2009-02-12 15:03:19 UTC
The offending GCC code: (define_insn "*sibcall_value_nonlocal_sysv<mode>" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s,s")) (match_operand 2 "" ""))) (use (match_operand:SI 3 "immediate_operand" "O,n")) (use (reg:SI LR_REGNO)) (return)] "(DEFAULT_ABI == ABI_DARWIN || DEFAULT_ABI == ABI_V4) && (INTVAL (operands[3]) & CALL_LONG) == 0" "* { if (INTVAL (operands[2]) & CALL_V4_SET_FP_ARGS) output_asm_insn (\"crxor 6,6,6\", operands); else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn (\"creqv 6,6,6\", operands); if (DEFAULT_ABI == ABI_V4 && flag_pic) { gcc_assert (!TARGET_SECURE_PLT); return \"b %z1@plt\"; } else return \"b %z1\"; }" [(set_attr "type" "branch,branch") (set_attr "length" "4,8")]) We trip on the gcc_assert (!TARGET_SECURE_PLT);. Could -mbss-plt be used to work around this for now? Or would that break ABI compatibility, SELinux or whatever? But it looks like Jakub has a GCC patch in the upstream GCC bug report already, so I guess we don't have to waste time with workarounds. We use -msecure-plt for security reasons, so using -mbss-plt would be terribly bad idea. If you want workaround (I'm already building gcc with the patch in koji), just don't nedlessly prototype functions after they have been defined. Fixed in gcc-4.4.0-0.18. |