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:
parent
3107a09548
commit
b1f318de53
4 changed files with 3031 additions and 0 deletions
|
@ -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 \
|
||||||
|
|
|
@ -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, ...);
|
||||||
|
|
|
@ -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
3007
tools/include/elf.h
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue