On Tue, 17 Feb 2009 13:11:47 +0100, "Vincent R." <[email protected]>
wrote:
> On Tue, 17 Feb 2009 01:22:37 +0000, Pedro Alves <[email protected]>
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel