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.
"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."
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)
#define KLONG long long // not typedef; want "unsigned KLONG" to work
#define KLF "L"
#define STRTOUKL strtoull