[PATCH 2/2] rpmrc: Not all linux powerpc builds are big endian.

Tony Breeds tony at bakeyournoodle.com
Sun Aug 18 22:52:08 UTC 2013


Without this change rpm incorrectly detects ppc64le systems as ppc64
(or ppc64p7).  Compile time check the Endianness of the build system
to elide these checks on little endian.

Signed-off-by: Tony Breeds <tony at bakeyournoodle.com>
---
 lib/rpmrc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/rpmrc.c b/lib/rpmrc.c
index 794d028..f209851 100644
--- a/lib/rpmrc.c
+++ b/lib/rpmrc.c
@@ -1125,6 +1125,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
 #	endif	/* sparc*-linux */
 
 #	if defined(__linux__) && defined(__powerpc__)
+#	if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 	{
             int powerlvl;
             if (!rstreq(un.machine, "ppc") &&
@@ -1133,6 +1134,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
                 strcpy(un.machine, "ppc64p7");
 	    }
         }
+#	endif	/* __ORDER_BIG_ENDIAN__ */
 #	endif	/* ppc64*-linux */
 
 #	if defined(__GNUC__) && defined(__alpha__)
-- 
1.8.1.4



More information about the Rpm-list mailing list