File ppc64le.patch of Package kbuild

---
 kBuild/env.sh                         |    3 +++
 kBuild/header.kmk                     |    6 +++---
 src/lib/kStuff/include/k/kDefs.h      |    5 ++++-
 src/lib/kStuff/include/k/kHlpAssert.h |    2 ++
 4 files changed, 12 insertions(+), 4 deletions(-)

Index: kbuild-0.1.9998+svn3613/kBuild/env.sh
===================================================================
--- kbuild-0.1.9998+svn3613.orig/kBuild/env.sh
+++ kbuild-0.1.9998+svn3613/kBuild/env.sh
@@ -383,6 +383,9 @@ if test -z "$KBUILD_HOST_ARCH"; then
         m68k)
             KBUILD_HOST_ARCH='m68k'
             ;;
+        ppc64le|powerpc64le)
+            KBUILD_HOST_ARCH='ppc64le'
+            ;;
         mips32|mips)
             KBUILD_HOST_ARCH='mips32'
             ;;
Index: kbuild-0.1.9998+svn3613/kBuild/header.kmk
===================================================================
--- kbuild-0.1.9998+svn3613.orig/kBuild/header.kmk
+++ kbuild-0.1.9998+svn3613/kBuild/header.kmk
@@ -197,8 +197,8 @@ KBUILD_BLD_TYPES := release profile debu
 # build types. (PORTME)
 #
 KBUILD_OSES      := darwin dos dragonfly freebsd gnuhurd gnukfbsd gnuknbsd haiku l4 linux netbsd nt openbsd os2 solaris win os-agnostic
-KBUILD_ARCHES    := x86 amd64 noarch alpha arm32 arm64 hppa32 hppa64 ia64 m68k loongarch64 mips32 mips64 ppc32 ppc64 riscv32 riscv64 s390 s390x sh32 sh64 sparc32 sparc64 x32
-KBUILD_ARCHES_64 := amd64 alpha arm64 hppa64 ia64 loongarch64 mips64 ppc64 riscv64 s390x sh64 sparc64 x32
+KBUILD_ARCHES    := x86 amd64 noarch alpha arm32 arm64 hppa32 hppa64 ia64 m68k loongarch64 mips32 mips64 ppc32 ppc64 ppc64le riscv32 riscv64 s390 s390x sh32 sh64 sparc32 sparc64 x32
+KBUILD_ARCHES_64 := amd64 alpha arm64 hppa64 ia64 loongarch64 mips64 ppc64 ppc64le riscv64 s390x sh64 sparc64 x32
 KBUILD_ARCHES_32 := x86 arm32 hppa32 m68k mips32 ppc32 riscv32 s390 sh32 sparc32
 
 
@@ -524,7 +524,7 @@ KBUILD_DEVTOOLS_HST ?= $(KBUILD_DEVTOOLS
 KBUILD_DEVTOOLS_TRG_NOARCH ?= $(KBUILD_DEVTOOLS)/$(KBUILD_TARGET).noarch
 KBUILD_DEVTOOLS_HST_NOARCH ?= $(KBUILD_DEVTOOLS)/$(KBUILD_HOST).noarch
 
-if1of ($(KBUILD_TARGET_ARCH), amd64 hppa64 mips64 ppc64 s390x sparc64)
+if1of ($(KBUILD_TARGET_ARCH), amd64 hppa64 mips64 ppc64 ppc64le s390x sparc64)
  ifeq ($(KBUILD_TARGET_ARCH),amd64)
   KBUILD_DEVTOOLS_TRG_ALT ?= $(KBUILD_DEVTOOLS)/$(KBUILD_TARGET).x86
  else ifeq ($(KBUILD_TARGET_ARCH),hppa64)
Index: kbuild-0.1.9998+svn3613/src/lib/kStuff/include/k/kDefs.h
===================================================================
--- kbuild-0.1.9998+svn3613.orig/src/lib/kStuff/include/k/kDefs.h
+++ kbuild-0.1.9998+svn3613/src/lib/kStuff/include/k/kDefs.h
@@ -176,6 +176,7 @@
 #define K_ARCH_POWERPC_32       ( 9 | K_ARCH_BIT_32 | K_ARCH_END_BI)
 /** 64-bit PowerPC. */
 #define K_ARCH_POWERPC_64       ( 9 | K_ARCH_BIT_64 | K_ARCH_END_BI)
+#define K_ARCH_POWERPC_64LE     ( 9 | K_ARCH_BIT_64 | K_ARCH_END_LITTLE)
 /** 32(31)-bit S390. */
 #define K_ARCH_S390_32          (10 | K_ARCH_BIT_32 | K_ARCH_END_BIG)
 /** 64-bit S390. */
@@ -232,8 +233,10 @@
 #  define K_ARCH    K_ARCH_MIPS_64
 # elif defined(__mips__)
 #  define K_ARCH    K_ARCH_MIPS_32
-# elif defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__)
+# elif (defined(__powerpc64__) && defined(__BIG_ENDIAN__))|| defined(__ppc64__) || defined(__PPC64__)
 #  define K_ARCH    K_ARCH_POWERPC_64
+# elif (defined(__powerpc64__) && defined(__LITTLE_ENDIAN__))
+#  define K_ARCH    K_ARCH_POWERPC_64LE
 # elif defined(__powerpc__) || defined(__ppc__) || defined(__PPC__)
 #  define K_ARCH    K_ARCH_POWERPC_32
 # elif defined(__riscv)
Index: kbuild-0.1.9998+svn3613/src/lib/kStuff/include/k/kHlpAssert.h
===================================================================
--- kbuild-0.1.9998+svn3613.orig/src/lib/kStuff/include/k/kHlpAssert.h
+++ kbuild-0.1.9998+svn3613/src/lib/kStuff/include/k/kHlpAssert.h
@@ -59,6 +59,8 @@ extern "C" {
 # define kHlpAssertBreakpoint() do { __asm__ __volatile__ ("unimp 0"); } while (0) /*??*/
 #elif defined(__GNUC__) && (K_ARCH == K_ARCH_SPARC_64)
 # define kHlpAssertBreakpoint() do { __asm__ __volatile__ ("illtrap 0"); } while (0) /*??*/
+#elif defined(__GNUC__) && (K_ARCH == K_ARCH_POWERPC_64 || K_ARCH == K_ARCH_POWERPC_64LE)
+# define kHlpAssertBreakpoint() do { __asm__ __volatile__ ("tw 31,0,0"); } while (0)
 #else
 # error "Port Me"
 #endif
openSUSE Build Service is sponsored by