kernel: fix portability issues on the x86 specific relocs host tool, fixes build on mac os x

SVN-Revision: 32783
This commit is contained in:
Felix Fietkau 2012-07-20 12:28:50 +00:00
parent 3107a09548
commit b1f318de53
4 changed files with 3031 additions and 0 deletions

View file

@ -6,6 +6,7 @@
# #
KERNEL_MAKEOPTS := -C $(LINUX_DIR) \ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \
CROSS_COMPILE="$(KERNEL_CROSS)" \ CROSS_COMPILE="$(KERNEL_CROSS)" \
ARCH="$(LINUX_KARCH)" \ ARCH="$(LINUX_KARCH)" \
KBUILD_HAVE_NLS=no \ KBUILD_HAVE_NLS=no \

View file

@ -0,0 +1,22 @@
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -10,7 +10,18 @@
#define USE_BSD
#include <endian.h>
#include <regex.h>
-#include <tools/le_byteshift.h>
+
+static inline void __put_unaligned_le16(uint16_t val, uint8_t *p)
+{
+ *p++ = val;
+ *p++ = val >> 8;
+}
+
+static inline void put_unaligned_le32(uint32_t val, uint8_t *p)
+{
+ __put_unaligned_le16(val >> 16, p + 2);
+ __put_unaligned_le16(val, p);
+}
static void die(char *fmt, ...);

View file

@ -36,6 +36,7 @@ HOST_EXTRACFLAGS=
LINUX_HAS_HEADERS_INSTALL:=y LINUX_HAS_HEADERS_INSTALL:=y
KMAKE := $(MAKE) -C $(HOST_BUILD_DIR) \ KMAKE := $(MAKE) -C $(HOST_BUILD_DIR) \
HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \
ARCH=$(LINUX_KARCH) \ ARCH=$(LINUX_KARCH) \
CC="$(KERNEL_CC)" \ CC="$(KERNEL_CC)" \
CFLAGS="$(TARGET_CFLAGS)" \ CFLAGS="$(TARGET_CFLAGS)" \

3007
tools/include/elf.h Normal file

File diff suppressed because it is too large Load diff