![]() |
Problem compiling latest SVN
WraithX helped me alot with various problems, now I'm down to an assembler compiling problem.
I can compile the official version 6.3 (ecm-6.3.tar.gz) without problem. Now I try the latest SVN and "autoreconf -i" and configure works but it failes in the beginning of "make" when I have --enable-asm-redc and --build=x86_64-w64-mingw32 or --build=x86_64-pc-mingw32 but works if --build=i686-pc-mingw32. With --disable-asm-redc it works with all the different --build. Here is the error message: [CODE]$ make make all-recursive make[1]: Entering directory `/home/ATH/ecm63svn1582mpir_1' Making all in x86_64 make[2]: Entering directory `/home/ATH/ecm63svn1582mpir_1/x86_64' m4 -I../ -DOPERATION_mulredc1 `test -f mulredc1.asm || echo './'`mulredc1.asm >m ulredc1.s /bin/sh ../libtool --mode=compile gcc -O2 -pedantic -m64 -std=gnu99 -mtune=co re2 -march=core2 -c -o mulredc1.lo mulredc1.s libtool: compile: gcc -O2 -pedantic -m64 -std=gnu99 -mtune=core2 -march=core2 - c mulredc1.s -o mulredc1.o c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_64-w64-mingw3 2/bin/as.exe: BFD (GNU Binutils) 2.21.51.20110510 assertion fail ../../binutils- cvs/bfd/coff-x86_64.c:680 mulredc1.s: Assembler messages: mulredc1.s:59: Error: cannot represent relocation type BFD_RELOC_386_GOTPC make[2]: *** [mulredc1.lo] Error 1 rm mulredc1.s make[2]: Leaving directory `/home/ATH/ecm63svn1582mpir_1/x86_64' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/ATH/ecm63svn1582mpir_1' make: *** [all] Error 2[/CODE] I also tried another version of mingw64 with a newer libtool/binutils. If I find no answer to this, I'll have to use another --build with --enable-asm-redc. Which is best build for a quad core Q9450 when x86_64 doesn't work. i686 or i786? or some other? there is also i886 and i986 but the assembler code not supported, but I'm curious which processors those cover. With --build=i686-pc-mingw32 it says "Using asm redc code from directory athlon" and with --build=i786-pc-mingw32 it says "Using asm redc code from directory pentium4" so I guess non of those are great. I use the CFLAGS -mtune=core2 -march=core2 so how important is --build? |
Now that I've looked at the "offending" line in mulredc.s, I see that:
[CODE] ifdef(`WANT_ASSERT', ` jz 1f lea _GLOBAL_OFFSET_TABLE_(%rip), %rbx [/CODE] So, if I remember right, just pass in --disable-assert to the configure script, and this problem should go away. In the official gmp-ecm 6.3 release, assert is not turned on, and this is why that was building successfully for you. Let us know how it goes. |
You are correct again of course :grin: It works, thanks alot for all your help.
I thought assertion was enabled by default in the official release, but I forgot that was back during release candidates: [URL="http://www.mersenneforum.org/showpost.php?p=132857&postcount=7"]http://www.mersenneforum.org/showpost.php?p=132857&postcount=7[/URL] I guess it's ok to run without assertions? I'll test it a bit anyway. |
| All times are UTC. The time now is 04:24. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.