Source: intelrdfpmath
Version: 2.0u3-1
Dear Maintainer,
At the moment, the library fail to build on powerpc, because it is an
unknown architecture. I gave porting the library a go, and got it
building, but the tests are segfaulting. Note, I do not really know the
inner workings of powerpc well enough to set up proper definitions, so
the values are copied from mips and endianness changed from little to
big. I also tried to base it on powerpc64le, but this crashed too.
In any case, I hope this can be a starting point for someone else
looking at powerpc porting.
Index: intelrdfpmath-salsa/LIBRARY/makefile.iml_head
===================================================================
--- intelrdfpmath-salsa.orig/LIBRARY/makefile.iml_head
+++ intelrdfpmath-salsa/LIBRARY/makefile.iml_head
@@ -177,7 +177,7 @@ GenTypeVarList = $(call PrefixSuffix,$1,
# returned
#
==============================================================================
-__INDICES__ = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+__INDICES__ = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
GetIndex = $(strip $(word 1,$(if $(word $(words $(__INDICES__)),$2), \
$(error "List too large. Adjust __INDICES__"), \
@@ -344,9 +344,9 @@ else
endif
endif
-ARCH_ALIAS := x86 ia64 EM64T x86_64 i686 amd64 Intel64 sun4u arm aarch64
powerpc64le riscv64 s390x loongarch64
-ARCH_LIST := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 IA32 EFI2
EFI2 EFI2 S390X EFI2
-ARCH_TYPE := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 IA32 EFI2
EFI2 EFI2 S390X EFI2
+ARCH_ALIAS := x86 ia64 EM64T x86_64 i686 amd64 Intel64 sun4u arm aarch64
powerpc powerpc64le riscv64 s390x loongarch64
+ARCH_LIST := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 IA32 EFI2
EFI2 EFI2 EFI2 S390X EFI2
+ARCH_TYPE := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 IA32 EFI2
EFI2 EFI2 EFI2 S390X EFI2
ARCH_TYPES := IA32 IA64 EFI2 S390X
UARCH_LIST := SSE GSSE LRB LRB2
Index: intelrdfpmath-salsa/LIBRARY/float128/architecture.h
===================================================================
--- intelrdfpmath-salsa.orig/LIBRARY/float128/architecture.h
+++ intelrdfpmath-salsa/LIBRARY/float128/architecture.h
@@ -711,6 +711,62 @@
# endif
+#elif (defined(__powerpc__)
+
+# undef vax
+# undef mips
+# undef hp_pa
+# undef cray
+# undef alpha
+# undef ix86
+# undef merced
+# undef amd64
+# undef sparc
+# undef powerpc
+
+# define powerpc 9
+# define ARCHITECTURE powerpc
+
+# define LOCAL_DATA 1
+# undef STATIC_ROUNDING_MODES
+# define DYNAMIC_ROUNDING_MODES 1
+# define DENORMS_EMULATED 1
+# define SEPARATE_FLOAT_REGS 1
+# undef MULTIPLE_ISSUE
+# undef UNSIGNED_TO_FLOAT
+# define UNSIGNED_MULTIPLY 1
+# define ENDIANESS big_endian
+# define SCALE_METHOD by_int
+# define CVT_TO_HI_LO_METHOD by_flt
+
+# define BITS_PER_CHAR 8
+# define BITS_PER_SHORT 16
+# define BITS_PER_INT 32
+# define BITS_PER_LONG 32
+
+# define BITS_PER_FLOAT 32
+# define BITS_PER_DOUBLE 64
+# define BITS_PER_LONG_DOUBLE 64
+
+# define INT_8 signed char
+# define INT_16 signed short
+# define INT_32 signed int
+# undef INT_64
+# undef INT_128
+# define U_INT_8 unsigned char
+# define U_INT_16 unsigned short
+# define U_INT_32 unsigned int
+# undef U_INT_64
+# undef U_INT_128
+
+# define WORD INT_32
+# define U_WORD U_INT_32
+# define BITS_PER_WORD 32
+
+# define HALF_WORD INT_16
+# define U_HALF_WORD U_INT_16
+# define BITS_PER_HALF_WORD 16
+
#else
# error Architecture must be specified.
--
Happy hacking
Petter Reinholdtsen