This is the mail archive of the 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: gcc 4.4.0 on ARM/WinCE float problem

On Fri, 2009-07-24 at 15:40 +0200, Danny Backx wrote:
> > It turns out that different functions are used :
> > - my 4.4 implementation takes its multiply code from dp-bit.c
> > - the 4.1 implementation takes it from ieee754-df.S
> > 
> > I've now tweaked gcc/config/arm/t-wince-pe (to use _arm_muldivf3 instead
> > of _muldivf3 in LIB1ASMFUNCS). Then the gcc build fails (double
> > definitions). Worked around that by tweaking dp-bit.c .

> I need advice on how to proceed with this.
> It looks like the change that introduced _arm prefixes for functions in
> LIB1ASMFUNCS (in gcc/config/arm/t-wince-pe) broke things.
> The other place where this type of stuff is used is in
> libgcc/ , and I think the line
> lib2funcs := $(filter-out $(LIB2FUNCS_EXCLUDE) $(LIB1ASMFUNCS),
> $(lib2funcs))
> is now broken due to the fact that the "encoding" of lib2funcs and
> LIB1ASMFUNCS is different.

FYI this problem appears to be solved by adding a couple of lines to
gcc/config/arm/t-wince-pe - see below - that match the stuff in the
LIB1ASMFUNCS= statement in that same file.

Only one big problem left now before 4.4 works and I can start getting
the differences upstream.

Thanks for the help,

# Filter out functions from dp-bit.c that are already in lib1funcs.asm
DPBIT_FUNCS := $(filter-out _mul_df _div_df _addsub_df _compare_df \
        _eq_df _ne_df _gt_df _ge_df _lt_df _le_df \
        _negate_df _unord_df \
        _df_to_sf _si_to_df _df_to_si _usi_to_df, $(DPBIT_FUNCS))
FPBIT_FUNCS := $(filter-out _mul_sf _div_sf _addsub_sf _compare_sf \
        _eq_sf _ne_sf _gt_sf _ge_sf _lt_sf _le_sf \
        _negate_sf _unord_sf \
        _sf_to_df _si_to_sf _sf_to_si _usi_to_sf, $(FPBIT_FUNCS))

LIB2FUNCS_EXCLUDE = _floatundisf _floatundidf

Danny Backx ; danny.backx - at - ;

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