Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 182118

Summary: Fails to biuld for ppc arch
Product: [Fedora] Fedora Reporter: Enrico Scholz <rh-bugzilla>
Component: dietlibcAssignee: Enrico Scholz <rh-bugzilla>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dwmw2, extras-qa, jakub
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: 2007-01-17 01:10:57 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:
Bug Depends On:    
Bug Blocks: 179260, 182120    
Attachments:
Description Flags
Workaround none

Description Enrico Scholz 2006-02-20 17:34:24 UTC
Description of problem:

Compilation of dietlibc in devel branch fails on PPC machine at code
like

| 36 #define B0      +            1.0l/   6/ 1/ 2
|    ...
| 50 static const double  coeff[] = { B0, ... };


The error message is

| libm/gamma.c:50: error: initializer element is not constant
| libm/gamma.c:50: error: (near initialization for 'coeff[0]')


This code looks sane to me, it builds fine on i386 and I do not have a
PPC machine where I can trace it down further.

Therefore, an

| ExcludeArch: ppc


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

dietlibc-0.29-5

Comment 1 David Woodhouse 2006-04-05 13:28:07 UTC
If there's a compiler problem, please make sure a GCC bug is filed. It seems
that this test case doesn't compile:

static const double coeff[] = { +854513.0l /138 };


Comment 2 David Woodhouse 2006-04-05 13:58:24 UTC
Removing the 'l' from the definitions of B0-B12 in libm/gamma.c seems to work
around this problem. Does that result in any loss of precision? I don't think so.

Comment 3 Enrico Scholz 2006-04-05 14:39:40 UTC
I do not want to file GCC bugs without a (minimal) reproducer. I asked on
fedora-devel maillist at 2006-02-18 for help about this issue but did not got a
response.

So, the fastest way to solve this problem would be when a PPC user files a GCC
bug with a minimal program, gcc cmdline, gcc version and error message.

Comment 4 David Woodhouse 2006-04-06 10:46:21 UTC
It is better to file the GCC bug with the whole preprocessed source for the
offending file than not to file it at all. It was trivial to pare it down to a
one-line test case.

I can also provide you with access to PPC machines if you need it, if you
_really_ wanted to make the minimal test case for yourself. Sorry I didn't see
your mail on the fedora-devel list; please feel free to Cc me directly for PPC
issues in future -- although I've also added myself to Cc for the
ppc-excludearch tracker bug.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27054

Comment 5 David Woodhouse 2006-09-09 08:34:26 UTC
Any progress on fixing this in FC5 GCC?

We do also have a workaround which would allow dietlibc to build anyway.

Comment 6 David Woodhouse 2006-12-28 14:39:22 UTC
Created attachment 144464 [details]
Workaround

Is there any particular reason why this workaround, which was identified eight
months ago, has not yet been applied?

Comment 7 David Woodhouse 2007-01-17 01:10:57 UTC
Fixed (well, worked around) in 0.30-4 for FC-6 and devel (the system thought
that 0.30-3.fc6 already existed). Fixing the GCC bug would be useful though.