summaryrefslogtreecommitdiffstats
path: root/scripts/sorttable.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/sorttable.c')
-rw-r--r--scripts/sorttable.c43
1 files changed, 1 insertions, 42 deletions
diff --git a/scripts/sorttable.c b/scripts/sorttable.c
index 3a8ea5ed553d..d00504c5f530 100644
--- a/scripts/sorttable.c
+++ b/scripts/sorttable.c
@@ -261,45 +261,6 @@ static void sort_relative_table_with_data(char *extab_image, int image_size)
}
}
-static void s390_sort_relative_table(char *extab_image, int image_size)
-{
- int i;
-
- for (i = 0; i < image_size; i += 16) {
- char *loc = extab_image + i;
- uint64_t handler;
-
- w(r((uint32_t *)loc) + i, (uint32_t *)loc);
- w(r((uint32_t *)(loc + 4)) + (i + 4), (uint32_t *)(loc + 4));
- /*
- * 0 is a special self-relative handler value, which means that
- * handler should be ignored. It is safe, because it means that
- * handler field points to itself, which should never happen.
- * When creating extable-relative values, keep it as 0, since
- * this should never occur either: it would mean that handler
- * field points to the first extable entry.
- */
- handler = r8((uint64_t *)(loc + 8));
- if (handler)
- handler += i + 8;
- w8(handler, (uint64_t *)(loc + 8));
- }
-
- qsort(extab_image, image_size / 16, 16, compare_relative_table);
-
- for (i = 0; i < image_size; i += 16) {
- char *loc = extab_image + i;
- uint64_t handler;
-
- w(r((uint32_t *)loc) - i, (uint32_t *)loc);
- w(r((uint32_t *)(loc + 4)) - (i + 4), (uint32_t *)(loc + 4));
- handler = r8((uint64_t *)(loc + 8));
- if (handler)
- handler -= i + 8;
- w8(handler, (uint64_t *)(loc + 8));
- }
-}
-
static int do_file(char const *const fname, void *addr)
{
int rc = -1;
@@ -340,12 +301,10 @@ static int do_file(char const *const fname, void *addr)
case EM_386:
case EM_AARCH64:
case EM_RISCV:
+ case EM_S390:
case EM_X86_64:
custom_sort = sort_relative_table_with_data;
break;
- case EM_S390:
- custom_sort = s390_sort_relative_table;
- break;
case EM_PARISC:
case EM_PPC:
case EM_PPC64: