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) \
|
||||
HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \
|
||||
CROSS_COMPILE="$(KERNEL_CROSS)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
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
|
||||
|
||||
KMAKE := $(MAKE) -C $(HOST_BUILD_DIR) \
|
||||
HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \
|
||||
ARCH=$(LINUX_KARCH) \
|
||||
CC="$(KERNEL_CC)" \
|
||||
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