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.
This commit is contained in:
Tulio Magno Quites Machado Filho 2020-06-24 18:04:41 -03:00
parent 81b1c8cbb5
commit d2ba3677da
14 changed files with 26 additions and 3 deletions

View File

@ -37,7 +37,7 @@
#define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \
+ PPC_FEATURE_HAS_DFP) + PPC_FEATURE_HAS_DFP)
#define _DL_PLATFORMS_COUNT 15 #define _DL_PLATFORMS_COUNT 16
#define _DL_FIRST_PLATFORM 32 #define _DL_FIRST_PLATFORM 32
/* Mask to filter out platforms. */ /* Mask to filter out platforms. */
@ -60,6 +60,7 @@
#define PPC_PLATFORM_PPC476 12 #define PPC_PLATFORM_PPC476 12
#define PPC_PLATFORM_POWER8 13 #define PPC_PLATFORM_POWER8 13
#define PPC_PLATFORM_POWER9 14 #define PPC_PLATFORM_POWER9 14
#define PPC_PLATFORM_POWER10 15
static inline const char * static inline const char *
__attribute__ ((unused)) __attribute__ ((unused))
@ -91,6 +92,14 @@ _dl_string_platform (const char *str)
str += 5; str += 5;
switch (*str) switch (*str)
{ {
case '1':
if (str[1] == '0')
{
ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER10;
}
else
return -1;
break;
case '4': case '4':
ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER4; ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER4;
break; break;

View File

@ -0,0 +1,2 @@
powerpc/powerpc32/power9/fpu
powerpc/powerpc32/power9

View File

@ -0,0 +1 @@
powerpc/powerpc32/power9/fpu/multiarch

View File

@ -0,0 +1 @@
powerpc/powerpc32/power9/multiarch

View File

@ -0,0 +1,2 @@
powerpc/powerpc64/be/power9/fpu
powerpc/powerpc64/be/power9

View File

@ -0,0 +1 @@
powerpc/powerpc64/be/power9/fpu

View File

@ -0,0 +1 @@
powerpc/powerpc64/be/power9/fpu/multiarch

View File

@ -0,0 +1 @@
powerpc/powerpc64/be/power9/multiarch

View File

@ -0,0 +1,2 @@
powerpc/powerpc64/le/power9/fpu
powerpc/powerpc64/le/power9

View File

@ -0,0 +1 @@
powerpc/powerpc64/le/power9/fpu

View File

@ -0,0 +1 @@
powerpc/powerpc64/le/power9/fpu/multiarch

View File

@ -0,0 +1 @@
powerpc/powerpc64/le/power9/multiarch

View File

@ -56,7 +56,7 @@ fi
;; ;;
a2|970|power[4-9]|power5x|power6+) a2|970|power[4-9]|power5x|power6+|power10)
submachine=${archcpu} submachine=${archcpu}
if ${libc_cv_cc_submachine+:} false; then : if ${libc_cv_cc_submachine+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6

View File

@ -46,7 +46,7 @@ case "${machine}:${submachine}" in
AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") 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} submachine=${archcpu}
AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="")
;; ;;