This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Quad-float support in Fortran


Am 07.11.2010 12:53, schrieb Angelo Graziosi:
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0x004203d9 in write_float ()
#2 0x00413ad0 in _gfortrani_write_real ()
#3 0x0040e934 in _gfortrani_list_formatted_write ()

Hmm, that does not tell much - seemingly, libqfortran/libquad is compiled without debugging symbols.


Actually, if you compile your program statically, it indeed might be a problem with weak ref. Can you compile your program using:

gfortran -Wl,--whole-archive -lquadmath -Wl,--no-whole-archive test.f90

or completely static:

  gfortran -static  \
  -Wl,--whole-archive \
    -lpthread -lquadmath \
  -Wl,--no-whole-archive test.f90

Otherwise, the weak symbols might not be pulled in.

The next question is: Why is there no .dll be generated for libquadmath? And, how does one best deal with those weak-ref side effects?

Tobias

PS: I just saw that my patch does not work if no weakrefs are available due to a bug in quadmath_weak.h and/or the usage of the symbols in libgfortran/m4/mtypes.m4 and libgfortran/io/. I will fix it in the next iteration of the patch.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]