objtool: Move macros describing structures to arch-dependent code
authorJulien Thierry <jthierry@redhat.com>
Fri, 4 Sep 2020 15:30:21 +0000 (16:30 +0100)
committerJosh Poimboeuf <jpoimboe@redhat.com>
Thu, 10 Sep 2020 15:43:13 +0000 (10:43 -0500)
Some macros are defined to describe the size and layout of structures
exception_table_entry, jump_entry and alt_instr. These values can vary
from one architecture to another.

Have the values be defined by arch specific code.

Suggested-by: Raphael Gault <raphael.gault@arm.com>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
tools/objtool/arch/x86/include/arch_special.h [new file with mode: 0644]
tools/objtool/special.c

diff --git a/tools/objtool/arch/x86/include/arch_special.h b/tools/objtool/arch/x86/include/arch_special.h
new file mode 100644 (file)
index 0000000..d818b2b
--- /dev/null
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef _X86_ARCH_SPECIAL_H
+#define _X86_ARCH_SPECIAL_H
+
+#define EX_ENTRY_SIZE          12
+#define EX_ORIG_OFFSET         0
+#define EX_NEW_OFFSET          4
+
+#define JUMP_ENTRY_SIZE                16
+#define JUMP_ORIG_OFFSET       0
+#define JUMP_NEW_OFFSET                4
+
+#define ALT_ENTRY_SIZE         13
+#define ALT_ORIG_OFFSET                0
+#define ALT_NEW_OFFSET         4
+#define ALT_FEATURE_OFFSET     8
+#define ALT_ORIG_LEN_OFFSET    10
+#define ALT_NEW_LEN_OFFSET     11
+
+#endif /* _X86_ARCH_SPECIAL_H */
index e893f1e48e44444c305613a736dc2e21c3911a78..b04f395de5de2672ec63424af15739a4fdaede3c 100644 (file)
 #include "builtin.h"
 #include "special.h"
 #include "warn.h"
-
-#define EX_ENTRY_SIZE          12
-#define EX_ORIG_OFFSET         0
-#define EX_NEW_OFFSET          4
-
-#define JUMP_ENTRY_SIZE                16
-#define JUMP_ORIG_OFFSET       0
-#define JUMP_NEW_OFFSET                4
-
-#define ALT_ENTRY_SIZE         13
-#define ALT_ORIG_OFFSET                0
-#define ALT_NEW_OFFSET         4
-#define ALT_FEATURE_OFFSET     8
-#define ALT_ORIG_LEN_OFFSET    10
-#define ALT_NEW_LEN_OFFSET     11
+#include "arch_special.h"
 
 #define X86_FEATURE_POPCNT (4*32+23)
 #define X86_FEATURE_SMAP   (9*32+20)