From: Tulio Magno Quites Machado Filho Date: Wed, 24 Jun 2020 21:04:41 +0000 (-0300) Subject: powerpc: Add support for POWER10 X-Git-Tag: upstream/2.34~1747 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2ba3677da7a785556fcd708404d8e049b1c063b;p=platform%2Fupstream%2Fglibc.git powerpc: Add support for POWER10 1. Add the directories to hold POWER10 files. 2. Add support to select POWER10 libraries based on AT_PLATFORM. 3. Let submachine=power10 be set automatically. --- diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h index 9ae85f4..497dc56 100644 --- a/sysdeps/powerpc/dl-procinfo.h +++ b/sysdeps/powerpc/dl-procinfo.h @@ -37,7 +37,7 @@ #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ + PPC_FEATURE_HAS_DFP) -#define _DL_PLATFORMS_COUNT 15 +#define _DL_PLATFORMS_COUNT 16 #define _DL_FIRST_PLATFORM 32 /* Mask to filter out platforms. */ @@ -60,6 +60,7 @@ #define PPC_PLATFORM_PPC476 12 #define PPC_PLATFORM_POWER8 13 #define PPC_PLATFORM_POWER9 14 +#define PPC_PLATFORM_POWER10 15 static inline const char * __attribute__ ((unused)) @@ -91,6 +92,14 @@ _dl_string_platform (const char *str) str += 5; switch (*str) { + case '1': + if (str[1] == '0') + { + ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER10; + } + else + return -1; + break; case '4': ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER4; break; diff --git a/sysdeps/powerpc/powerpc32/power10/Implies b/sysdeps/powerpc/powerpc32/power10/Implies new file mode 100644 index 0000000..b298aca --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power10/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc32/power9/fpu +powerpc/powerpc32/power9 diff --git a/sysdeps/powerpc/powerpc32/power10/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc32/power10/fpu/multiarch/Implies new file mode 100644 index 0000000..1ffddd1 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power10/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power9/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc32/power10/multiarch/Implies b/sysdeps/powerpc/powerpc32/power10/multiarch/Implies new file mode 100644 index 0000000..46363b5 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power10/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power9/multiarch diff --git a/sysdeps/powerpc/powerpc64/be/power10/Implies b/sysdeps/powerpc/powerpc64/be/power10/Implies new file mode 100644 index 0000000..5aea9bc --- /dev/null +++ b/sysdeps/powerpc/powerpc64/be/power10/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/be/power9/fpu +powerpc/powerpc64/be/power9 diff --git a/sysdeps/powerpc/powerpc64/be/power10/fpu/Implies b/sysdeps/powerpc/powerpc64/be/power10/fpu/Implies new file mode 100644 index 0000000..19b2a31 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/be/power10/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/be/power9/fpu diff --git a/sysdeps/powerpc/powerpc64/be/power10/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power10/fpu/multiarch/Implies new file mode 100644 index 0000000..a336feb --- /dev/null +++ b/sysdeps/powerpc/powerpc64/be/power10/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/be/power9/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/be/power10/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power10/multiarch/Implies new file mode 100644 index 0000000..b4c0f0a --- /dev/null +++ b/sysdeps/powerpc/powerpc64/be/power10/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/be/power9/multiarch diff --git a/sysdeps/powerpc/powerpc64/le/power10/Implies b/sysdeps/powerpc/powerpc64/le/power10/Implies new file mode 100644 index 0000000..9e1b787 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/le/power10/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/le/power9/fpu +powerpc/powerpc64/le/power9 diff --git a/sysdeps/powerpc/powerpc64/le/power10/fpu/Implies b/sysdeps/powerpc/powerpc64/le/power10/fpu/Implies new file mode 100644 index 0000000..1b3525a --- /dev/null +++ b/sysdeps/powerpc/powerpc64/le/power10/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/le/power9/fpu diff --git a/sysdeps/powerpc/powerpc64/le/power10/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/le/power10/fpu/multiarch/Implies new file mode 100644 index 0000000..189beb8 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/le/power10/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/le/power9/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/le/power10/multiarch/Implies b/sysdeps/powerpc/powerpc64/le/power10/multiarch/Implies new file mode 100644 index 0000000..e6e5fc8 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/le/power10/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/le/power9/multiarch diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure index deac5a4..dfe8e20 100644 --- a/sysdeps/powerpc/preconfigure +++ b/sysdeps/powerpc/preconfigure @@ -56,7 +56,7 @@ fi ;; - a2|970|power[4-9]|power5x|power6+) + a2|970|power[4-9]|power5x|power6+|power10) submachine=${archcpu} if ${libc_cv_cc_submachine+:} false; then : $as_echo_n "(cached) " >&6 diff --git a/sysdeps/powerpc/preconfigure.ac b/sysdeps/powerpc/preconfigure.ac index e6a5ae9..6c63bd8 100644 --- a/sysdeps/powerpc/preconfigure.ac +++ b/sysdeps/powerpc/preconfigure.ac @@ -46,7 +46,7 @@ case "${machine}:${submachine}" in AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") ;; - a2|970|power[[4-9]]|power5x|power6+) + a2|970|power[[4-9]]|power5x|power6+|power10) submachine=${archcpu} AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") ;;