xref: /OK3568_Linux_fs/buildroot/package/lshw/0002-Fix-musl-build-wrong-usage-of-LONG_BIT.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From 246b9e07f22d551fae0718315273760c087b79ca Mon Sep 17 00:00:00 2001
2From: Sergio Prado <sergio.prado@e-labworks.com>
3Date: Sat, 4 Jul 2020 20:28:26 -0300
4Subject: [PATCH] Fix musl build: wrong usage of LONG_BIT
5
6LONG_BIT is not a sysconf value, it is either 32 or 64. Using it as
7a sysconf value will give weird results.
8
9Originally it was sysconf(_SC_LONG_BIT) (before it was "fixed" by the
10gentoo guys). But this is useless: it will always return a value
11equal to LONG_BIT: it's either compiled 32-bit or 64-bit so a runtime
12lookup doesn't make sense. For this reason, musl has removed the
13definition of _SC_LONG_BIT.
14
15Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
16Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
17---
18 src/core/abi.cc | 4 +---
19 1 file changed, 1 insertion(+), 3 deletions(-)
20
21diff --git a/src/core/abi.cc b/src/core/abi.cc
22index adff7b55acfa..76c664c03ce7 100644
23--- a/src/core/abi.cc
24+++ b/src/core/abi.cc
25@@ -20,9 +20,7 @@ __ID("@(#) $Id: mem.cc 1352 2006-05-27 23:54:13Z ezix $");
26 bool scan_abi(hwNode & system)
27 {
28   // are we compiled as 32- or 64-bit process ?
29-  long sc = sysconf(LONG_BIT);
30-  if(sc==-1) sc = sysconf(_SC_LONG_BIT);
31-  if(sc!=-1) system.setWidth(sc);
32+  system.setWidth(LONG_BIT);
33
34   pushd(PROC_SYS);
35
36--
372.17.1
38
39