diff options
author | Richard Sandiford <richard@codesourcery.com> | 2006-05-19 08:05:39 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2006-05-19 08:05:39 +0000 |
commit | baffad1f3d30a473263e56f86b1420dbc7371ab3 (patch) | |
tree | cf643de5bba2d973c8fea4043b4125197d2df44c /gcc/libgcc2.h | |
parent | 41990f964687332cd2ea2ad59a02c18ed499db6c (diff) | |
download | gcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.zip gcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.tar.gz gcc-baffad1f3d30a473263e56f86b1420dbc7371ab3.tar.bz2 |
re PR target/22209 (libgfortran unresolvable symbols on irix6.5)
* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
libgcc2.h.
(LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
* libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
determine the size of Wtype, etc.
* mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
(swfloatfuncs): New variable.
(dwfloatfuncs): Likewise.
(lib2funcs): Remove floating-point conversion functions from
initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
the set of conversion routines needed. Allow entries to specify
an object name, filename and word size. Update users accordingly.
* Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
Revert:
2006-02-08 Roger Sayle <roger@eyesopen.com>
PR target/22209
* config/fixtfdi.c: New libgcc source file.
* config/fixunstfdi.c: New source file.
* config/floatditf.c: New source file.
* config/floatunditf.c: New souce file.
* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
files above instead of config/mips/_tilib.c.
* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
From-SVN: r113903
Diffstat (limited to 'gcc/libgcc2.h')
-rw-r--r-- | gcc/libgcc2.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h index f24854f..5b3a9e1 100644 --- a/gcc/libgcc2.h +++ b/gcc/libgcc2.h @@ -125,10 +125,6 @@ extern short int __get_eh_table_version (struct exception_descriptor *); #define IS_IBM_EXTENDED(SIZE) 0 #endif -#ifndef MIN_UNITS_PER_WORD -#define MIN_UNITS_PER_WORD UNITS_PER_WORD -#endif - /* In the first part of this file, we are interfacing to calls generated by the compiler itself. These calls pass values into these routines which have very specific modes (rather than very specific types), and @@ -201,7 +197,7 @@ typedef int word_type __attribute__ ((mode (__word__))); turns out that no platform would define COMPAT_DIMODE_TRAPPING_ARITHMETIC if it existed. */ -#if MIN_UNITS_PER_WORD > 4 +#if LIBGCC2_UNITS_PER_WORD == 8 #define W_TYPE_SIZE (8 * BITS_PER_UNIT) #define Wtype DItype #define UWtype UDItype @@ -212,8 +208,7 @@ typedef int word_type __attribute__ ((mode (__word__))); #define __NW(a,b) __ ## a ## di ## b #define __NDW(a,b) __ ## a ## ti ## b #define COMPAT_SIMODE_TRAPPING_ARITHMETIC -#elif MIN_UNITS_PER_WORD > 2 \ - || (MIN_UNITS_PER_WORD > 1 && LONG_LONG_TYPE_SIZE > 32) +#elif LIBGCC2_UNITS_PER_WORD == 4 #define W_TYPE_SIZE (4 * BITS_PER_UNIT) #define Wtype SItype #define UWtype USItype @@ -223,7 +218,7 @@ typedef int word_type __attribute__ ((mode (__word__))); #define UDWtype UDItype #define __NW(a,b) __ ## a ## si ## b #define __NDW(a,b) __ ## a ## di ## b -#elif MIN_UNITS_PER_WORD > 1 +#elif LIBGCC2_UNITS_PER_WORD == 2 #define W_TYPE_SIZE (2 * BITS_PER_UNIT) #define Wtype HItype #define UWtype UHItype |