Skip to content

Commit

Permalink
powerpc: Add support for POWER10
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
tuliom committed Jun 29, 2020
1 parent 81b1c8c commit d2ba367
Show file tree
Hide file tree
Showing 14 changed files with 26 additions and 3 deletions.
11 changes: 10 additions & 1 deletion sysdeps/powerpc/dl-procinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand All @@ -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))
Expand Down Expand Up @@ -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;
Expand Down
2 changes: 2 additions & 0 deletions sysdeps/powerpc/powerpc32/power10/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
powerpc/powerpc32/power9/fpu
powerpc/powerpc32/power9
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc32/power10/fpu/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc32/power9/fpu/multiarch
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc32/power10/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc32/power9/multiarch
2 changes: 2 additions & 0 deletions sysdeps/powerpc/powerpc64/be/power10/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
powerpc/powerpc64/be/power9/fpu
powerpc/powerpc64/be/power9
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/be/power10/fpu/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/be/power9/fpu
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/be/power10/fpu/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/be/power9/fpu/multiarch
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/be/power10/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/be/power9/multiarch
2 changes: 2 additions & 0 deletions sysdeps/powerpc/powerpc64/le/power10/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
powerpc/powerpc64/le/power9/fpu
powerpc/powerpc64/le/power9
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/le/power10/fpu/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/le/power9/fpu
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/le/power10/fpu/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/le/power9/fpu/multiarch
1 change: 1 addition & 0 deletions sysdeps/powerpc/powerpc64/le/power10/multiarch/Implies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
powerpc/powerpc64/le/power9/multiarch
2 changes: 1 addition & 1 deletion sysdeps/powerpc/preconfigure
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/powerpc/preconfigure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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="")
;;
Expand Down

0 comments on commit d2ba367

Please sign in to comment.