On Tue, 17 Feb 2009 13:11:47 +0100, "Vincent R." <foru...@smartmobili.com> wrote: > On Tue, 17 Feb 2009 01:22:37 +0000, Pedro Alves <alves....@gmail.com> > wrote: >> On Monday 16 February 2009 22:55:27, Vincent R. wrote: >>> I have also noticed that you have hardcoded exception mode in t-wince-pe >>> : >>> >>> ... >>> # This should go somewhere else. >>> # We are using SjLj EH. >>> EH_MODEL = sjlj >>> >>> >>> Wouldn't be possible to do what I suggest in a previous email and use > the >>> same logic as mingw ? >>> >> >> Well, yes, we could, but, I don't think that anything but sjlj >> will work currently. Hey, wouldn't it be nice if that was: >> >>> EH_MODEL = seh >> >> :-) > Florent is working on it or should I say is supposed to do so ;-) > I got no news from him, I think he might be go skiing without telling me. > Last time I talked to him, he did some parsing stuff and was emitting some > barrier > buth his problem was gcc removed his instructions during optimizations. > > > When testing cegcc-4.4 when compiling a lib from EFL > libtool: link: arm-mingw32ce-gcc -O3 -pipe -Wl,--enable-auto-import -Wl,-s > -o .libs/evil_suite.exe evil_suite.o evil_test_dlfcn.o > evil_test_environment.o evil_test_gettimeofday.o evil_test_link.o > evil_test_memcpy.o evil_test_mkstemp.o evil_test_realpath.o > memcpy_glibc_arm.o -L/home/vincent/local/wince/lib > -L/home/vincent/toolchains/mingw32ce-4.4.0/lib > ../../src/lib/.libs/libevil.a ../../src/lib/dlfcn/.libs/libdl.a > /home/vincent/projects/efl/PROTO/evil/src/lib/.libs/libevil.a -lws2 > evil_suite.o:evil_suite.c:(.text+0x20): undefined reference to > `__floatdidf' > evil_suite.o:evil_suite.c:(.text+0x30): undefined reference to > `__floatdidf' > > Any idea why ? > Please note that from Vincent Torri explanation, libtool error message > prepend a _ so actually linker cannot find > _floatdidf function. > I may have an explanation, it seems libstdc++ shared lib is not built, I > will check in this direction. > > I have also noticed some differences in mingw32.h, it seems that you have > removed some stuff about shared libs > because if I look at LINK_SPEC for instance > > I have the following > > #define LINK_SPEC "%{shared: %{mdll: %eshared and mdll are not compatible}} > \ > %{shared: --shared} %{mdll:--dll} \ > %{static:-Bstatic} %{!static:-Bdynamic} \ > %{shared|mdll: -e DllMainCRTStartup} \ > > > and from your patch : > #define LINK_SPEC "%{shared: --shared} \ > %{static:-Bstatic} %{!static:-Bdynamic} \ > %{shared|mdll: -e DllMainCRTStartup --enable-auto-image-base} \ > %(shared_libgcc_undefs)" > > ... > > During my investigations I noticed also that when I used > --enable-auto-image-base, dll entry point > was located at a wrong address but you seem to use it anyway. > So my questions is have you removed %mdll on purpose or is it a mistake ?
I answer to myself, it seems you have added the following code in arm.c if (TARGET_DLLIMPORT_DECL_ATTRIBUTES) { if (GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_DLLIMPORT_P (x)) return legitimize_dllimport_symbol (x, true); if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS && GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF && SYMBOL_REF_DLLIMPORT_P (XEXP (XEXP (x, 0), 0))) { rtx t = legitimize_dllimport_symbol (XEXP (XEXP (x, 0), 0), true); return gen_rtx_PLUS (Pmode, t, XEXP (XEXP (x, 0), 1)); } } maybe that's why maybe --enable-auto-image-base works for you. When you have time could you please explain it to me what is it used for Thanks ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel