Browse Source

Merge pull request #2571 from martin-frbg/issue2299

Work around IDAMAX/IZAMAX bugs on POWER8BE with ELFv2 FreeBSD
tags/v0.3.10^2
Martin Kroeker GitHub 6 years ago
parent
commit
f6104b68c1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions
  1. +1
    -0
      Makefile.system
  2. +4
    -2
      getarch.c
  3. +8
    -0
      kernel/power/KERNEL.POWER8

+ 1
- 0
Makefile.system View File

@@ -1349,6 +1349,7 @@ export ARCH
export CORE
export LIBCORE
export __BYTE_ORDER__
export ELF_VERSION
export PGCPATH
export CONFIG
export CC


+ 4
- 2
getarch.c View File

@@ -1362,10 +1362,12 @@ int main(int argc, char *argv[]){

#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
printf("__BYTE_ORDER__=__ORDER_BIG_ENDIAN__\n");
#endif
#if defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ > 0
#elif defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ > 0
printf("__BYTE_ORDER__=__ORDER_BIG_ENDIAN__\n");
#endif
#if defined(_CALL_ELF) && (_CALL_ELF == 2)
printf("ELF_VERSION=2\n");
#endif

#ifdef MAKE_NB_JOBS
#if MAKE_NB_JOBS > 0


+ 8
- 0
kernel/power/KERNEL.POWER8 View File

@@ -232,3 +232,11 @@ QCABS_KERNEL = ../generic/cabs.c
#Dump kernel
CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c

ifeq ($(__BYTE_ORDER__)$(ELF_VERSION),__ORDER_BIG_ENDIAN__2)
IDAMAXKERNEL = ../arm/iamax.c
IDAMINKERNEL = ../arm/iamin.c
IZAMAXKERNEL = ../arm/izamax.c
IZAMINKERNEL = ../arm/izamin.c
endif


Loading…
Cancel
Save