File audit-add-ppc64le-mach-support.patch of Package audit.5264

From: Tony Jones <tonyj@suse.de>
Subject: audit: add ppc64le mach support
References: bnc#891861
Commit-id: https://fedorahosted.org/audit/changeset/1013
Signed-off-by: Tony Jones <tonyj@suse.de>

---
 lib/libaudit.c     |    5 +++++
 lib/libaudit.h     |    6 +++++-
 lib/lookup_table.c |    3 +++
 lib/machinetab.h   |    1 +
 4 files changed, 14 insertions(+), 1 deletion(-)

--- a/lib/machinetab.h
+++ b/lib/machinetab.h
@@ -27,6 +27,7 @@ _S(MACH_X86,     "i686"   )
 _S(MACH_86_64,   "x86_64" )
 _S(MACH_IA64,    "ia64"   )
 _S(MACH_PPC64,   "ppc64"  )
+_S(MACH_PPC64LE, "ppc64le")
 _S(MACH_PPC,     "ppc"    )
 _S(MACH_S390X,   "s390x"  )
 _S(MACH_S390,    "s390"   )
--- a/lib/lookup_table.c
+++ b/lib/lookup_table.c
@@ -70,6 +70,7 @@ static const struct int_transtab elftab[
     { MACH_86_64,   AUDIT_ARCH_X86_64 },
     { MACH_IA64,    AUDIT_ARCH_IA64   },
     { MACH_PPC64,   AUDIT_ARCH_PPC64  },
+    { MACH_PPC64LE, AUDIT_ARCH_PPC64LE},
     { MACH_PPC,     AUDIT_ARCH_PPC    },
     { MACH_S390X,   AUDIT_ARCH_S390X  },
     { MACH_S390,    AUDIT_ARCH_S390   },
@@ -123,6 +124,7 @@ int audit_name_to_syscall(const char *sc
 			found = ia64_syscall_s2i(sc, &res);
 			break;
 		case MACH_PPC64:
+		case MACH_PPC64LE:
 		case MACH_PPC:
 			found = ppc_syscall_s2i(sc, &res);
 			break;
@@ -169,6 +171,7 @@ const char *audit_syscall_to_name(int sc
 		case MACH_IA64:
 			return ia64_syscall_i2s(sc);
 		case MACH_PPC64:
+		case MACH_PPC64LE:
 		case MACH_PPC:
 			return ppc_syscall_i2s(sc);
 		case MACH_S390X:
--- a/lib/libaudit.c
+++ b/lib/libaudit.c
@@ -1128,6 +1128,11 @@ int audit_determine_machine(const char *
 				return -6;
 			break;
 #endif
+		case MACH_PPC64LE:
+			if (bits != __AUDIT_ARCH_64BIT)
+				return -6;
+			break;
+
 		case MACH_86_64: /* fallthrough */
 		case MACH_PPC64: /* fallthrough */
 		case MACH_S390X: /* fallthrough */
--- a/lib/libaudit.h
+++ b/lib/libaudit.h
@@ -339,6 +339,9 @@ extern "C" {
 #define AUDIT_ARCH_AARCH64	(EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #endif
 
+#ifndef AUDIT_ARCH_PPC64LE
+#define AUDIT_ARCH_PPC64LE	(EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
+#endif
 
 //////////////////////////////////////////////////////
 // This is an external ABI. Any changes in here will
@@ -418,7 +421,8 @@ typedef enum {
 	MACH_S390,
 	MACH_ALPHA,
 	MACH_ARM,
-	MACH_AARCH64
+	MACH_AARCH64,
+	MACH_PPC64LE
 } machine_t;
 
 /* These are the valid audit failure tunable enum values */
openSUSE Build Service is sponsored by