summaryrefslogtreecommitdiff
path: root/target/linux/patches/2.6.30/cygwin-compat.patch
blob: 8d087dddf97a1a8a1e0d3af50c9fd41b4364d0ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
diff -Nur linux-2.6.30.orig/scripts/mod/file2alias.c linux-2.6.30/scripts/mod/file2alias.c
--- linux-2.6.30.orig/scripts/mod/file2alias.c	2009-06-10 05:05:27.000000000 +0200
+++ linux-2.6.30/scripts/mod/file2alias.c	2009-06-11 09:17:10.000000000 +0200
@@ -29,7 +29,11 @@
 
 #include <ctype.h>
 
+#ifdef __CYGWIN__
+typedef __uint32_t      __u32;
+#else
 typedef uint32_t	__u32;
+#endif
 typedef uint16_t	__u16;
 typedef unsigned char	__u8;
 
diff -Nur linux-2.6.30.orig/scripts/mod/modpost.h linux-2.6.30/scripts/mod/modpost.h
--- linux-2.6.30.orig/scripts/mod/modpost.h	2009-06-10 05:05:27.000000000 +0200
+++ linux-2.6.30/scripts/mod/modpost.h	2009-06-11 09:17:10.000000000 +0200
@@ -9,6 +9,11 @@
 #include <unistd.h>
 #include <elf.h>
 
+#ifdef __CYGWIN__
+typedef uint16_t Elf32_Section;
+typedef uint16_t Elf64_Section;
+#endif
+
 #include "elfconfig.h"
 
 #if KERNEL_ELFCLASS == ELFCLASS32
@@ -19,13 +24,17 @@
 #define Elf_Addr    Elf32_Addr
 #define Elf_Sword   Elf64_Sword
 #define Elf_Section Elf32_Half
+#ifndef __CYGWIN__
 #define ELF_ST_BIND ELF32_ST_BIND
 #define ELF_ST_TYPE ELF32_ST_TYPE
+#endif
 
 #define Elf_Rel     Elf32_Rel
 #define Elf_Rela    Elf32_Rela
+#ifndef __CYGWIN__
 #define ELF_R_SYM   ELF32_R_SYM
 #define ELF_R_TYPE  ELF32_R_TYPE
+#endif
 #else
 
 #define Elf_Ehdr    Elf64_Ehdr
@@ -43,6 +52,17 @@
 #define ELF_R_TYPE  ELF64_R_TYPE
 #endif
 
+#define R_386_32 1 /* Direct 32 bit */
+#define R_386_PC32 2 /* PC relative 32 bit */
+
+#define R_ARM_PC24 1 /* PC relative 26 bit branch */
+#define R_ARM_ABS32 2 /* Direct 32 bit */
+
+#define R_MIPS_32 2 /* Direct 32 bit */
+#define R_MIPS_26 4 /* Direct 26 bit shifted */
+#define R_MIPS_HI16 5 /* High 16 bit */
+#define R_MIPS_LO16 6 /* Low 16 bit */
+
 /* The 64-bit MIPS ELF ABI uses an unusual reloc format. */
 typedef struct
 {