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: [3.4 patch] Fix PR16314, undefined reference to `__subdf3' forarm-softfloat



On Tue, 31 Aug 2004, Richard Earnshaw wrote:


On Tue, 2004-08-31 at 11:25, Vladimir Ivanov wrote:
What about defining more targets, like "t-linux-crunch" and
"t-linux-softfp"? This could solve some of the current ABI differences.

Not really. I suspect folks really want a single compiler that supports both hard and soft float. Separate t-* files only come into play with separate configurations of the compiler. Besides that it becomes a maintenance nightmare.

Then we're back to the single "t-linux". Here's what I've been using:


---//---

# Just for these, we omit the frame pointer since it makes such a big
# difference.  It is then pointless adding debugging.
TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
TARGET_LIBGCC2_CFLAGS += -mfix-crunch-d0
LIBGCC2_DEBUG_CFLAGS = -g0

LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
	_fixsfsi _fixunssfsi

MULTILIB_OPTIONS    = mhard-float/msoft-float/mcpu=ep9312
MULTILIB_DIRNAMES   = hard-float soft-float ep9312
MULTILIB_EXCEPTIONS = *mthumb/*mhard-float*

# If you want to build both APCS variants as multilib options this is how
# to do it.
# MULTILIB_OPTIONS += mapcs-32/mapcs-26
# MULTILIB_DIRNAMES += apcs-32 apcs-26

EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

---//---

Multilibs allow hard-float, soft-float and crunch versions to co-exist in a single compiler. I think someone said that inclusions of object modules could be done dependent on options. Is this really possible? If so, is this also valid for TARGET_LIBGCC2_CFLAGS? I still don't see an elegant solution for using "-mfix-crunch-d0" only on crunch libgcc.

-- Vladimir


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