On Monday 18 April 2011 05:21:16 Bill Hart wrote:
> On 18 April 2011 03:59, Sisyphus <[email protected]> wrote:
> > ----- Original Message ----- From: "Jason"
> >
> >> you could also try
> >> ./configure --build=none-w64-mingw32 for a pure C build , incase it's
> >> just the
> >> assembler that is having problems.
> >
> > (The above was from an off list exchange. Jason has also sent me his
> > build of mpir-2.3.1 for reference - ie the entire build directory.
> > Putting this discussion back on list.)
> >
> > Generic C build is pretty good. The only problem is that t-aors_1.exe
> > won't build. All other tests build and pass.
> > Here's the error:
> >
> > x86_64-w64-mingw32-gcc.exe -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../..
> > -I../../tests -DNO_ASM -O3 -c t-aors_1.c
> > t-aors_1.c:271:1: internal compiler error: in
> > cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
>
> Looks like a compiler bug.
>
weren't you using a gcc-4.6 prerelease?
> > Anyway - my ,main problem is looking more and more like a yasm issue, and
> > that's *not* good news for me (as I don't code in assembler, and I've
> > never used yasm).
> >
> > Jason, I keep seeing discrepancies (in our respective builds) in the
> > number of underscores that precede the symbol name. In your config.log,
> > I see:
> >
> > configure:26548: checking if globals are prefixed by underscore
> > configure:26558: x86_64-w64-mingw32-gcc.exe -std=gnu99 -O2 -m64
> > -march=core2 -mtune=core2 -c conftest.c >&5
> > configure:26561: $? = 0
> > configure:26579: result: no
> >
> > Whereas mine contains:
> >
> > configure:26540: checking if globals are prefixed by underscore
> > configure:26550: x86_64-w64-mingw32-gcc.exe -std=gnu99 -O2 -m64 -march=k8
> > -mtune=k8 -c conftest.c >&5
> > configure:26553: $? = 0
> > configure:26571: result: yes
> >
> > Is this something that's architecture dependent ? (If so, then I would
> > think it possible that both configure scripts have got it right. If not,
> > then one script has got it wrong .... and it's not difficult to guess
> > which one that might be.)
>
> The number of leading underscores is called the global symbol prefix,
> and this is platform dependent.
>
Dont know why the number of underscores is different , the logic to determine
it doesn't use yasm (it's some script stuff in "configure" . just search for
"underscore") , my best guess is that your install on mingw64 is corrupt ,
have you tried a clean install? just try another install in another directory
, and make sure your path includes nothing from the old install
> > I have an AMD64 processor. Jason, what do you have ?
nehalem aka corei7
> > I assume also it's a difference in our processors that accounts for the
> > different -march and -mtune settings ? (For me, they're 'k8', whereas
> > Jason has 'core2'.)
>
yep
> I would imagine.
>
> > Is it known if *anyone* has successfully built a 64-bit mpir (with
> > assembler) on an AMD64 box with the MinGW64 compiler ?
> >
yep , I just did it , all worked fine , (it was a fake build , but I just
changed the cpuid to return a K8)
I can tar it up if you want , but it's the difference in underscores that is
the problem
from acinclude.m4
AC_MSG_WARN([+----------------------------------------------------------])
AC_MSG_WARN([| Cannot determine global symbol prefix.])
AC_MSG_WARN([| $NM output doesn't contain a global data symbol.])
AC_MSG_WARN([| Will proceed with no underscore.])
AC_MSG_WARN([| If this is wrong then you'll get link errors referring])
AC_MSG_WARN([| to ___gmpn_add_n (note three underscores).])
AC_MSG_WARN([| In this case do a fresh build with an override,])
AC_MSG_WARN([| ./configure gmp_cv_asm_underscore=yes])
and try no
> > Should the library that Jason built and sent over to me be usable on my
> > machine ?
>
> Probably not, due to the symbol prefix.
>
exactly
> > It's not working for me :
> >
> > ######################################
> > C:\_64\c>type mpir.c
> > #include <stdio.h>
> > #include <mpir.h>
> >
> > int main(void) {
> > mpz_t y;
> >
> > mpz_init_set_str(y, "1101101101101", 2);
> > mpz_out_str(0, 16, y);
> >
> > mpz_clear(y);
> > return 0;
> > }
> >
> >
> > C:\_64\c>x86_64-w64-mingw32-gcc -o mpir.exe mpir.c -IC:/temp/temp
> > -LC:/temp/temp/.libs -lmpir
> > C:\Users\Rob\AppData\Local\Temp\ccguXd86.o:mpir.c:(.text+0x22): undefined
> > reference to `__gmpz_init_set_str'
> > C:\Users\Rob\AppData\Local\Temp\ccguXd86.o:mpir.c:(.text+0x38): undefined
> > reference to `__gmpz_out_str'
> > C:\Users\Rob\AppData\Local\Temp\ccguXd86.o:mpir.c:(.text+0x44): undefined
> > reference to `__gmpz_clear'
> > collect2: ld returned 1 exit status
> >
> > C:\_64\c>
> > ######################################
> >
> > (That's probably enough questions for this post :-)
> >
> > Cheers,
> > Rob
> > --
> > You received this message because you are subscribed to the Google Groups
> > "mpir-devel" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> > http://groups.google.com/group/mpir-devel?hl=en.
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/mpir-devel?hl=en.