Bug 1278135 - regression in binutils-2.25.1
regression in binutils-2.25.1
Product: Fedora
Classification: Fedora
Component: binutils (Show other bugs)
ppc64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Nick Clifton
Fedora Extras Quality Assurance
Depends On:
Blocks: PPCTracker
  Show dependency treegraph
Reported: 2015-11-04 12:49 EST by Ngo Than
Modified: 2016-01-14 07:13 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2016-01-14 07:13:29 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
ATL_dupMBmm0_4_0_b0.c (157.95 KB, text/plain)
2015-11-05 07:47 EST, Ngo Than
no flags Details

  None (edit)
Description Ngo Than 2015-11-04 12:49:10 EST
atlas build fails on on ppc64 with following errors:

/usr/bin/ppc64-redhat-linux-gcc  -g -Wa,--noexecstack -fPIC -m64 -DL2SIZE=4194304 -I/builddir/build/BUILD/ATLAS/ppc64_base/include -I/builddir/build/BUILD/ATLAS/ppc64_base/..//include -I/builddir/build/BUILD/ATLAS/ppc64_base/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_POWER7 -DATL_VSX -DATL_AltiVec -DATL_USE64BITS -DATL_GAS_PPC -DATL_AVgcc -m64 -DWALL -DATL_NCPU=4 -DATL_UCLEANM -DATL_UCLEANN -DATL_UCLEANK -DATL_BETA=0 -c -x assembler-with-cpp ATL_dupMBmm0_4_0_b0.c
ATL_dupMBmm0_4_0_b0.c: Assembler messages:
ATL_dupMBmm0_4_0_b0.c:386: Error: junk at end of line: `0'
ATL_dupMBmm0_4_0_b0.c:388: Error: junk at end of line: `0'
ATL_dupMBmm0_4_0_b0.c:3989: Error: junk at end of line: `0'
ATL_dupMBmm0_4_0_b0.c:3991: Error: junk at end of line: `0'
dMakefile:334: recipe for target 'ATL_dupMBmm0_4_0_b0.o' failed
make[8]: *** [ATL_dupMBmm0_4_0_b0.o] Error 1

for more info please take a look at:


it seems the upstream patch from https://sourceware.org/ml/binutils/2015-04/msg00395.html caues this issue.
Comment 1 Nick Clifton 2015-11-05 06:59:01 EST
Hi Ngo,

  Please could you upload the ATL_dupMBmm0_4_0_b0.c for me to examine ?  (I am wondering if the assembler is actually correct, and that the problem is that the ATL_dupMBmm0_4_0_b0.c file is out of date).

Comment 2 Ngo Than 2015-11-05 07:47 EST
Created attachment 1090050 [details]
Comment 3 Ngo Than 2015-11-05 07:49:38 EST
it seems the new binutitls handles dctd in different way. This assembler code works fine in 2.25.

                dcbt    0, pfA, 0
                addi    pfA, pfA, 128
                dcbt    0, pfB, 0
                addi    pfB, pfB, 128
Comment 4 Nick Clifton 2015-11-05 12:44:06 EST
Hi Ngo,

  I am not a PowerPC architecture expert, but it looks to me like the "dcbt 0, pfA, 0" syntax is only valid on some architecture variants, not all of them.  Plus, I think that what happened between 2.25 and 2.25.1 is that the architecture checking for the DCBT instruction was tightened up.

  Hence the problem is that code in ATL_dupMBmm0_4_0_b0.c is being assembled without the correct PowerPC variant being specified on the assembler command line.  (Or maybe no architecture variant is being specified at all, and a default, basic architecture is being used ?).  

  Does this theory make sense ?  If so then maybe adding something like "-Wa,-mpower7" to the gcc command line might act as a workaround ?

Comment 5 Ngo Than 2015-11-13 09:13:23 EST
Hi Nick, it seems you are right, the architecture checking for the DCBT instruction was tightened up in new binutils and adding -Wa,-mpower7 to assembler option the above assembler code built correctly.
Comment 6 Ngo Than 2016-01-14 07:13:29 EST
it seems a bug in atlas. And the issue was fixed in latest atlas

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