diff options
author | alpine-mips-patches <info@mobile-stream.com> | 2018-12-03 10:26:31 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2018-12-17 09:00:30 +0000 |
commit | 20b06b3a5a196d248d8b0e66fc1beb3925667c72 (patch) | |
tree | 75004c7d93f8829f7a2c953081d83b7b35b4a2ca /community/dynamips | |
parent | 8b256dcd696715633a9f885f8e8e8de0017d8f9a (diff) | |
download | aports-20b06b3a5a196d248d8b0e66fc1beb3925667c72.tar.bz2 aports-20b06b3a5a196d248d8b0e66fc1beb3925667c72.tar.xz |
community/dynamips: fix byte order detection
Use the generic gcc/clang/suncc __BYTE_ORDER__ macro to detect platform
byte order instead of hard-coded architecture detection which is wrong
for ppc64le (always assumes POWER is big-endian) and lacks any knowledge
of mips*.
This change covers s390x too so remove s390x-support.patch.
Diffstat (limited to 'community/dynamips')
-rw-r--r-- | community/dynamips/APKBUILD | 6 | ||||
-rw-r--r-- | community/dynamips/detect-byte-order.patch | 34 | ||||
-rw-r--r-- | community/dynamips/s390x-support.patch | 13 |
3 files changed, 37 insertions, 16 deletions
diff --git a/community/dynamips/APKBUILD b/community/dynamips/APKBUILD index 5c8f62bef4..0013d974eb 100644 --- a/community/dynamips/APKBUILD +++ b/community/dynamips/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Francesco Colista <fcolista@alpinelinux.org> pkgname=dynamips pkgver=0.2.18 -pkgrel=0 +pkgrel=1 pkgdesc="Cisco router emulator" url="https://github.com/GNS3/dynamips" arch="all" @@ -10,7 +10,7 @@ license="GPL-2.0" makedepends="cmake libpcap-dev libelf-dev linux-headers paxmark libnsl-dev" subpackages="$pkgname-doc" source="${pkgname}-${pkgver}.tar.gz::https://github.com/GNS3/${pkgname}/archive/v${pkgver}.tar.gz - s390x-support.patch" + detect-byte-order.patch" builddir="$srcdir"/$pkgname-$pkgver prepare() { @@ -36,4 +36,4 @@ package() { } sha512sums="d66e32d72ecc9ebff5232377ac9aa5b966ceb08884cc7f8dc4a8cf3f56305e7cefd677624ba66278f6603a3b275c384bd0ff3905932461b1f8056106cd272a4c dynamips-0.2.18.tar.gz -151f9c7d53c0edd9d300b3e84ce50d500018a533d6d131609ac0c25244db640d65d2322104c126e7c0e311cc0b197c07976f21fa28909a92d48cf31b6208431b s390x-support.patch" +d3beb4ddda4ca571a36f2333609db48126c0f6629adf39a985cedb1741356f415f33c82c56b69802955869c6741655476253c4ea4e8ef1461411cc52e411e429 detect-byte-order.patch" diff --git a/community/dynamips/detect-byte-order.patch b/community/dynamips/detect-byte-order.patch new file mode 100644 index 0000000000..0181be2a1d --- /dev/null +++ b/community/dynamips/detect-byte-order.patch @@ -0,0 +1,34 @@ +--- a/common/dynamips_common.h ++++ b/common/dynamips_common.h +@@ -50,21 +50,17 @@ + #define ARCH_BIG_ENDIAN 0x4321 + #define ARCH_LITTLE_ENDIAN 0x1234 + +-#if defined(PPC) || defined(__powerpc__) || defined(__ppc__) +-#define ARCH_BYTE_ORDER ARCH_BIG_ENDIAN +-#elif defined(__sparc) || defined(__sparc__) +-#define ARCH_BYTE_ORDER ARCH_BIG_ENDIAN +-#elif defined(__alpha) || defined(__alpha__) +-#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN +-#elif defined(__i386) || defined(__i386__) || defined(i386) +-#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN ++ ++#ifdef __BYTE_ORDER__ ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++#define ARCH_BYTE_ORDER ARCH_BIG_ENDIAN ++#else ++#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN ++#endif ++#endif ++ ++#if defined(__i386) || defined(__i386__) || defined(i386) + #define ARCH_REGPARM_SUPPORTED 1 +-#elif defined(__x86_64__) +-#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN +-#elif defined(__ia64__) +-#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN +-#elif defined(__arm__) || defined (__aarch64__) +-#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN + #endif + + #ifndef ARCH_BYTE_ORDER diff --git a/community/dynamips/s390x-support.patch b/community/dynamips/s390x-support.patch deleted file mode 100644 index 529fe9a65b..0000000000 --- a/community/dynamips/s390x-support.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/common/dynamips_common.h b/common/dynamips_common.h -index 9c20f38..0c8ca2c 100644 ---- a/common/dynamips_common.h -+++ b/common/dynamips_common.h -@@ -50,7 +50,7 @@ - #define ARCH_BIG_ENDIAN 0x4321 - #define ARCH_LITTLE_ENDIAN 0x1234 - --#if defined(PPC) || defined(__powerpc__) || defined(__ppc__) -+#if defined(PPC) || defined(__powerpc__) || defined(__ppc__) || defined(__s390x__) - #define ARCH_BYTE_ORDER ARCH_BIG_ENDIAN - #elif defined(__sparc) || defined(__sparc__) - #define ARCH_BYTE_ORDER ARCH_BIG_ENDIAN |