mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
s390/exceptions: switch to relative exception table entries
This is the s390 port of 70627654
"x86, extable: Switch to relative
exception table entries".
Reduces the size of our exception tables by 50% on 64 bit builds.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
24996edce5
commit
eb608fb366
10 changed files with 132 additions and 33 deletions
|
@ -161,7 +161,7 @@ typedef void (*table_sort_t)(char *, int);
|
|||
#define SORTEXTABLE_64
|
||||
#include "sortextable.h"
|
||||
|
||||
static int compare_x86_table(const void *a, const void *b)
|
||||
static int compare_relative_table(const void *a, const void *b)
|
||||
{
|
||||
int32_t av = (int32_t)r(a);
|
||||
int32_t bv = (int32_t)r(b);
|
||||
|
@ -173,7 +173,7 @@ static int compare_x86_table(const void *a, const void *b)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void sort_x86_table(char *extab_image, int image_size)
|
||||
static void sort_relative_table(char *extab_image, int image_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -188,7 +188,7 @@ static void sort_x86_table(char *extab_image, int image_size)
|
|||
i += 4;
|
||||
}
|
||||
|
||||
qsort(extab_image, image_size / 8, 8, compare_x86_table);
|
||||
qsort(extab_image, image_size / 8, 8, compare_relative_table);
|
||||
|
||||
/* Now denormalize. */
|
||||
i = 0;
|
||||
|
@ -245,9 +245,9 @@ do_file(char const *const fname)
|
|||
break;
|
||||
case EM_386:
|
||||
case EM_X86_64:
|
||||
custom_sort = sort_x86_table;
|
||||
break;
|
||||
case EM_S390:
|
||||
custom_sort = sort_relative_table;
|
||||
break;
|
||||
case EM_MIPS:
|
||||
break;
|
||||
} /* end switch */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue