[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ABI incompatibility when building util-linux



Thiemo Seufer wrote:

n32 means 64bit wide registers and 32bit address space. It runs only on
a 64bit kernel.


A bit off topic, but it reminded me nonetheless. Anyone trying to build a new version of procpcs (>3.4.2) under mips64 will likely need this patch.

Unsure what the reasoning behind this bit was in procps, but it assumes that n32 is usable on a mips64 system (atleast, my understanding of the conditional is that), and thus defines KLONG to long long on mips64, which breaks 'ps' on these systems (you get a nice sigsev).

Thought it'd be useful to pass along.


--Kumba

--
"Such is oft the course of deeds that move the wheels of the world: small hands do them because they must, while the eyes of the great are elsewhere." --Elrond
diff -Naurp procps-3.2.4.orig/proc/procps.h procps-3.2.4/proc/procps.h
--- procps-3.2.4.orig/proc/procps.h	2004-08-20 18:40:13 -0400
+++ procps-3.2.4/proc/procps.h	2005-02-28 10:38:05 -0500
@@ -31,7 +31,7 @@
 //
 // Unknown: PA-RISC and zSeries
 //
-#if defined(k64test) || defined(_ABIN32)
+#if defined(k64test)
 #define KLONG long long    // not typedef; want "unsigned KLONG" to work
 #define KLF "L"
 #define STRTOUKL strtoull

Reply to: