0129-objtool-Move-synced-files-to-their-original-relative.patch 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. From 314f7c3d08de2ed14b6743dc7385a52df590645a Mon Sep 17 00:00:00 2001
  2. From: Josh Poimboeuf <[email protected]>
  3. Date: Mon, 6 Nov 2017 07:21:50 -0600
  4. Subject: [PATCH 129/242] objtool: Move synced files to their original relative
  5. locations
  6. MIME-Version: 1.0
  7. Content-Type: text/plain; charset=UTF-8
  8. Content-Transfer-Encoding: 8bit
  9. CVE-2017-5754
  10. This will enable more straightforward comparisons, and it also makes the
  11. files 100% identical.
  12. Suggested-by: Ingo Molnar <[email protected]>
  13. Signed-off-by: Josh Poimboeuf <[email protected]>
  14. Cc: Linus Torvalds <[email protected]>
  15. Cc: Peter Zijlstra <[email protected]>
  16. Cc: Thomas Gleixner <[email protected]>
  17. Link: http://lkml.kernel.org/r/407b2aaa317741f48fcf821592c0e96ab3be1890.1509974346.git.jpoimboe@redhat.com
  18. Signed-off-by: Ingo Molnar <[email protected]>
  19. (backported from commit b90671a530137f42325b89c0848ca58d865c1710)
  20. Signed-off-by: Andy Whitcroft <[email protected]>
  21. Signed-off-by: Kleber Sacilotto de Souza <[email protected]>
  22. (cherry picked from commit 3673cdbc4be1671fad71a4968a9f55357d9d356c)
  23. Signed-off-by: Fabian Grünbichler <[email protected]>
  24. ---
  25. .../arch/x86/{insn => lib}/x86-opcode-map.txt | 0
  26. tools/objtool/Makefile | 22 ++++++++++++----------
  27. .../objtool/arch/x86/{insn => include/asm}/inat.h | 2 +-
  28. .../arch/x86/{insn => include/asm}/inat_types.h | 0
  29. .../objtool/arch/x86/{insn => include/asm}/insn.h | 2 +-
  30. .../objtool/{ => arch/x86/include/asm}/orc_types.h | 0
  31. tools/objtool/orc.h | 2 +-
  32. tools/objtool/arch/x86/decode.c | 6 +++---
  33. tools/objtool/arch/x86/{insn => lib}/inat.c | 2 +-
  34. tools/objtool/arch/x86/{insn => lib}/insn.c | 4 ++--
  35. tools/objtool/.gitignore | 2 +-
  36. tools/objtool/arch/x86/Build | 10 +++++-----
  37. .../arch/x86/{insn => tools}/gen-insn-attr-x86.awk | 0
  38. 13 files changed, 27 insertions(+), 25 deletions(-)
  39. rename tools/objtool/arch/x86/{insn => lib}/x86-opcode-map.txt (100%)
  40. rename tools/objtool/arch/x86/{insn => include/asm}/inat.h (99%)
  41. rename tools/objtool/arch/x86/{insn => include/asm}/inat_types.h (100%)
  42. rename tools/objtool/arch/x86/{insn => include/asm}/insn.h (99%)
  43. rename tools/objtool/{ => arch/x86/include/asm}/orc_types.h (100%)
  44. rename tools/objtool/arch/x86/{insn => lib}/inat.c (99%)
  45. rename tools/objtool/arch/x86/{insn => lib}/insn.c (99%)
  46. rename tools/objtool/arch/x86/{insn => tools}/gen-insn-attr-x86.awk (100%)
  47. diff --git a/tools/objtool/arch/x86/insn/x86-opcode-map.txt b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
  48. similarity index 100%
  49. rename from tools/objtool/arch/x86/insn/x86-opcode-map.txt
  50. rename to tools/objtool/arch/x86/lib/x86-opcode-map.txt
  51. diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
  52. index 3a6425fefc43..f95f48e445c3 100644
  53. --- a/tools/objtool/Makefile
  54. +++ b/tools/objtool/Makefile
  55. @@ -24,7 +24,9 @@ OBJTOOL_IN := $(OBJTOOL)-in.o
  56. all: $(OBJTOOL)
  57. -INCLUDES := -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi
  58. +INCLUDES := -I$(srctree)/tools/include \
  59. + -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
  60. + -I$(srctree)/tools/objtool/arch/$(HOSTARCH)/include
  61. CFLAGS += -Wall -Werror $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -fomit-frame-pointer -O2 -g $(INCLUDES)
  62. LDFLAGS += -lelf $(LIBSUBCMD)
  63. @@ -44,16 +46,16 @@ $(OBJTOOL_IN): fixdep FORCE
  64. $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN)
  65. @(diff -I 2>&1 | grep -q 'option requires an argument' && \
  66. test -d ../../kernel -a -d ../../tools -a -d ../objtool && (( \
  67. - diff -I'^#include' arch/x86/insn/insn.c ../../arch/x86/lib/insn.c >/dev/null && \
  68. - diff -I'^#include' arch/x86/insn/inat.c ../../arch/x86/lib/inat.c >/dev/null && \
  69. - diff arch/x86/insn/x86-opcode-map.txt ../../arch/x86/lib/x86-opcode-map.txt >/dev/null && \
  70. - diff arch/x86/insn/gen-insn-attr-x86.awk ../../arch/x86/tools/gen-insn-attr-x86.awk >/dev/null && \
  71. - diff -I'^#include' arch/x86/insn/insn.h ../../arch/x86/include/asm/insn.h >/dev/null && \
  72. - diff -I'^#include' arch/x86/insn/inat.h ../../arch/x86/include/asm/inat.h >/dev/null && \
  73. - diff -I'^#include' arch/x86/insn/inat_types.h ../../arch/x86/include/asm/inat_types.h >/dev/null) \
  74. + diff arch/x86/lib/insn.c ../../arch/x86/lib/insn.c >/dev/null && \
  75. + diff arch/x86/lib/inat.c ../../arch/x86/lib/inat.c >/dev/null && \
  76. + diff arch/x86/lib/x86-opcode-map.txt ../../arch/x86/lib/x86-opcode-map.txt >/dev/null && \
  77. + diff arch/x86/tools/gen-insn-attr-x86.awk ../../arch/x86/tools/gen-insn-attr-x86.awk >/dev/null && \
  78. + diff arch/x86/include/asm/insn.h ../../arch/x86/include/asm/insn.h >/dev/null && \
  79. + diff arch/x86/include/asm/inat.h ../../arch/x86/include/asm/inat.h >/dev/null && \
  80. + diff arch/x86/include/asm/inat_types.h ../../arch/x86/include/asm/inat_types.h >/dev/null) \
  81. || echo "warning: objtool: x86 instruction decoder differs from kernel" >&2 )) || true
  82. @(test -d ../../kernel -a -d ../../tools -a -d ../objtool && (( \
  83. - diff ../../arch/x86/include/asm/orc_types.h orc_types.h >/dev/null) \
  84. + diff ../../arch/x86/include/asm/orc_types.h arch/x86/include/asm/orc_types.h >/dev/null) \
  85. || echo "warning: objtool: orc_types.h differs from kernel" >&2 )) || true
  86. $(QUIET_LINK)$(CC) $(OBJTOOL_IN) $(LDFLAGS) -o $@
  87. @@ -64,7 +66,7 @@ $(LIBSUBCMD): fixdep FORCE
  88. clean:
  89. $(call QUIET_CLEAN, objtool) $(RM) $(OBJTOOL)
  90. $(Q)find $(OUTPUT) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
  91. - $(Q)$(RM) $(OUTPUT)arch/x86/insn/inat-tables.c $(OUTPUT)fixdep
  92. + $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-tables.c $(OUTPUT)fixdep
  93. FORCE:
  94. diff --git a/tools/objtool/arch/x86/insn/inat.h b/tools/objtool/arch/x86/include/asm/inat.h
  95. similarity index 99%
  96. rename from tools/objtool/arch/x86/insn/inat.h
  97. rename to tools/objtool/arch/x86/include/asm/inat.h
  98. index 125ecd2a300d..02aff0867211 100644
  99. --- a/tools/objtool/arch/x86/insn/inat.h
  100. +++ b/tools/objtool/arch/x86/include/asm/inat.h
  101. @@ -20,7 +20,7 @@
  102. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  103. *
  104. */
  105. -#include "inat_types.h"
  106. +#include <asm/inat_types.h>
  107. /*
  108. * Internal bits. Don't use bitmasks directly, because these bits are
  109. diff --git a/tools/objtool/arch/x86/insn/inat_types.h b/tools/objtool/arch/x86/include/asm/inat_types.h
  110. similarity index 100%
  111. rename from tools/objtool/arch/x86/insn/inat_types.h
  112. rename to tools/objtool/arch/x86/include/asm/inat_types.h
  113. diff --git a/tools/objtool/arch/x86/insn/insn.h b/tools/objtool/arch/x86/include/asm/insn.h
  114. similarity index 99%
  115. rename from tools/objtool/arch/x86/insn/insn.h
  116. rename to tools/objtool/arch/x86/include/asm/insn.h
  117. index e23578c7b1be..b3e32b010ab1 100644
  118. --- a/tools/objtool/arch/x86/insn/insn.h
  119. +++ b/tools/objtool/arch/x86/include/asm/insn.h
  120. @@ -21,7 +21,7 @@
  121. */
  122. /* insn_attr_t is defined in inat.h */
  123. -#include "inat.h"
  124. +#include <asm/inat.h>
  125. struct insn_field {
  126. union {
  127. diff --git a/tools/objtool/orc_types.h b/tools/objtool/arch/x86/include/asm/orc_types.h
  128. similarity index 100%
  129. rename from tools/objtool/orc_types.h
  130. rename to tools/objtool/arch/x86/include/asm/orc_types.h
  131. diff --git a/tools/objtool/orc.h b/tools/objtool/orc.h
  132. index a4139e386ef3..b0e92a6d0903 100644
  133. --- a/tools/objtool/orc.h
  134. +++ b/tools/objtool/orc.h
  135. @@ -18,7 +18,7 @@
  136. #ifndef _ORC_H
  137. #define _ORC_H
  138. -#include "orc_types.h"
  139. +#include <asm/orc_types.h>
  140. struct objtool_file;
  141. diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c
  142. index 4559a21a8de2..92f57996d66c 100644
  143. --- a/tools/objtool/arch/x86/decode.c
  144. +++ b/tools/objtool/arch/x86/decode.c
  145. @@ -19,9 +19,9 @@
  146. #include <stdlib.h>
  147. #define unlikely(cond) (cond)
  148. -#include "insn/insn.h"
  149. -#include "insn/inat.c"
  150. -#include "insn/insn.c"
  151. +#include <asm/insn.h>
  152. +#include "lib/inat.c"
  153. +#include "lib/insn.c"
  154. #include "../../elf.h"
  155. #include "../../arch.h"
  156. diff --git a/tools/objtool/arch/x86/insn/inat.c b/tools/objtool/arch/x86/lib/inat.c
  157. similarity index 99%
  158. rename from tools/objtool/arch/x86/insn/inat.c
  159. rename to tools/objtool/arch/x86/lib/inat.c
  160. index e4bf28e6f4c7..c1f01a8e9f65 100644
  161. --- a/tools/objtool/arch/x86/insn/inat.c
  162. +++ b/tools/objtool/arch/x86/lib/inat.c
  163. @@ -18,7 +18,7 @@
  164. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  165. *
  166. */
  167. -#include "insn.h"
  168. +#include <asm/insn.h>
  169. /* Attribute tables are generated from opcode map */
  170. #include "inat-tables.c"
  171. diff --git a/tools/objtool/arch/x86/insn/insn.c b/tools/objtool/arch/x86/lib/insn.c
  172. similarity index 99%
  173. rename from tools/objtool/arch/x86/insn/insn.c
  174. rename to tools/objtool/arch/x86/lib/insn.c
  175. index ca983e2bea8b..1088eb8f3a5f 100644
  176. --- a/tools/objtool/arch/x86/insn/insn.c
  177. +++ b/tools/objtool/arch/x86/lib/insn.c
  178. @@ -23,8 +23,8 @@
  179. #else
  180. #include <string.h>
  181. #endif
  182. -#include "inat.h"
  183. -#include "insn.h"
  184. +#include <asm/inat.h>
  185. +#include <asm/insn.h>
  186. /* Verify next sizeof(t) bytes can be on the same instruction */
  187. #define validate_next(t, insn, n) \
  188. diff --git a/tools/objtool/.gitignore b/tools/objtool/.gitignore
  189. index d3102c865a95..914cff12899b 100644
  190. --- a/tools/objtool/.gitignore
  191. +++ b/tools/objtool/.gitignore
  192. @@ -1,3 +1,3 @@
  193. -arch/x86/insn/inat-tables.c
  194. +arch/x86/lib/inat-tables.c
  195. objtool
  196. fixdep
  197. diff --git a/tools/objtool/arch/x86/Build b/tools/objtool/arch/x86/Build
  198. index debbdb0b5c43..b998412c017d 100644
  199. --- a/tools/objtool/arch/x86/Build
  200. +++ b/tools/objtool/arch/x86/Build
  201. @@ -1,12 +1,12 @@
  202. objtool-y += decode.o
  203. -inat_tables_script = arch/x86/insn/gen-insn-attr-x86.awk
  204. -inat_tables_maps = arch/x86/insn/x86-opcode-map.txt
  205. +inat_tables_script = arch/x86/tools/gen-insn-attr-x86.awk
  206. +inat_tables_maps = arch/x86/lib/x86-opcode-map.txt
  207. -$(OUTPUT)arch/x86/insn/inat-tables.c: $(inat_tables_script) $(inat_tables_maps)
  208. +$(OUTPUT)arch/x86/lib/inat-tables.c: $(inat_tables_script) $(inat_tables_maps)
  209. $(call rule_mkdir)
  210. $(Q)$(call echo-cmd,gen)$(AWK) -f $(inat_tables_script) $(inat_tables_maps) > $@
  211. -$(OUTPUT)arch/x86/decode.o: $(OUTPUT)arch/x86/insn/inat-tables.c
  212. +$(OUTPUT)arch/x86/decode.o: $(OUTPUT)arch/x86/lib/inat-tables.c
  213. -CFLAGS_decode.o += -I$(OUTPUT)arch/x86/insn
  214. +CFLAGS_decode.o += -I$(OUTPUT)arch/x86/lib
  215. diff --git a/tools/objtool/arch/x86/insn/gen-insn-attr-x86.awk b/tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk
  216. similarity index 100%
  217. rename from tools/objtool/arch/x86/insn/gen-insn-attr-x86.awk
  218. rename to tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk
  219. --
  220. 2.14.2