mirror of
https://github.com/ctm/syn68k.git
synced 2025-02-17 22:30:25 +00:00
Removed BROKEN_SIZE_32 (no longer needed now that we use local labels)
This commit is contained in:
parent
71bf911a65
commit
fccefb39fa
@ -291,20 +291,6 @@ typedef struct
|
|||||||
long value[MAX_VALUE_SET_ENTRIES];
|
long value[MAX_VALUE_SET_ENTRIES];
|
||||||
} value_set_t;
|
} value_set_t;
|
||||||
|
|
||||||
/*
|
|
||||||
* The addition of BROKEN_SIZE_32 (see template.h) and
|
|
||||||
* immediate_values[3] is a hacky workaround for Mac OS X's ld which
|
|
||||||
* doesn't recognize 0x80000000 (-2147483648) as a legitimate 32-bit
|
|
||||||
* relocatable offset. This prevents calls and jumps from being
|
|
||||||
* properly analyzed.
|
|
||||||
*
|
|
||||||
* For now we sacrifice the analysis of that bit pattern in the few
|
|
||||||
* template entries that would normally have it. We currently do this
|
|
||||||
* unconditionally because nobody has yet written a configure macro to
|
|
||||||
* detect this problem and then only use "BROKEN_SIZE_32" when we have
|
|
||||||
* a broken ld.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
create_asmdata (const template_t *t, int num_operands)
|
create_asmdata (const template_t *t, int num_operands)
|
||||||
{
|
{
|
||||||
@ -319,12 +305,6 @@ create_asmdata (const template_t *t, int num_operands)
|
|||||||
0x1234, 0x8765, 0x7FFFFFFF, 0x80000000, 0x80000001,
|
0x1234, 0x8765, 0x7FFFFFFF, 0x80000000, 0x80000001,
|
||||||
0xFFFFFFFF, 0xFFFFFFFE, 0x871529, 0x392332, 0xFA034433,
|
0xFFFFFFFF, 0xFFFFFFFE, 0x871529, 0x392332, 0xFA034433,
|
||||||
0x12345678, 0x87654321 } },
|
0x12345678, 0x87654321 } },
|
||||||
{ 32, { 0, 1, 2, 0xFF, 0xFE, 128, -129, 127, -128, -127, 0x37, -100,
|
|
||||||
0x12, -97,
|
|
||||||
32767, -32768, -32767, -1, 0xFFFE, 0x871, 0xFA03,
|
|
||||||
0x1234, 0x8765, 0x7FFFFFFF, 0x80000001,
|
|
||||||
0xFFFFFFFF, 0xFFFFFFFE, 0x871529, 0x392332, 0xFA034433,
|
|
||||||
0x12345678, 0x87654321 } }
|
|
||||||
};
|
};
|
||||||
#if 0
|
#if 0
|
||||||
/* Explanation of this warning:
|
/* Explanation of this warning:
|
||||||
|
@ -628,7 +628,7 @@ const template_t template[] =
|
|||||||
{ "i386_call_abs", "", "", "", "volatile", "v",
|
{ "i386_call_abs", "", "", "", "volatile", "v",
|
||||||
"call L%P0",
|
"call L%P0",
|
||||||
{ "addr" },
|
{ "addr" },
|
||||||
{ { BROKEN_SIZE_32, CONSTANT, IN } } },
|
{ { SIZE_32, CONSTANT, IN } } },
|
||||||
|
|
||||||
{ "i386_cbtw", "", "", "(reg8 AL)", "(reg16 AX)", "-",
|
{ "i386_cbtw", "", "", "(reg8 AL)", "(reg16 AX)", "-",
|
||||||
"cbtw",
|
"cbtw",
|
||||||
@ -711,7 +711,7 @@ const template_t template[] =
|
|||||||
{ "i386_" op, flags, "", "", "volatile", "v", \
|
{ "i386_" op, flags, "", "", "volatile", "v", \
|
||||||
op " L%P0", \
|
op " L%P0", \
|
||||||
{ "target" }, \
|
{ "target" }, \
|
||||||
{ { BROKEN_SIZE_32, CONSTANT, IN } } }
|
{ { SIZE_32, CONSTANT, IN } } }
|
||||||
|
|
||||||
CONDL_BRANCH ("jc", "c"),
|
CONDL_BRANCH ("jc", "c"),
|
||||||
CONDL_BRANCH ("jbe", "cz"),
|
CONDL_BRANCH ("jbe", "cz"),
|
||||||
@ -731,7 +731,7 @@ const template_t template[] =
|
|||||||
{ "i386_jmp", "", "", "", "volatile", "v",
|
{ "i386_jmp", "", "", "", "volatile", "v",
|
||||||
"jmp L%P0",
|
"jmp L%P0",
|
||||||
{ "target" },
|
{ "target" },
|
||||||
{ { BROKEN_SIZE_32, CONSTANT, IN } } },
|
{ { SIZE_32, CONSTANT, IN } } },
|
||||||
{ "i386_jmp_reg", "", "", "", "volatile", "-",
|
{ "i386_jmp_reg", "", "", "", "volatile", "-",
|
||||||
"jmp *%0",
|
"jmp *%0",
|
||||||
{ "target" },
|
{ "target" },
|
||||||
|
@ -21,7 +21,7 @@ typedef enum
|
|||||||
0x80000000 (-2147483648) as a legitimate 32-bit relative offset. See
|
0x80000000 (-2147483648) as a legitimate 32-bit relative offset. See
|
||||||
the extended comment in process.c for more info */
|
the extended comment in process.c for more info */
|
||||||
|
|
||||||
typedef enum { SIZE_8, SIZE_16, SIZE_32, BROKEN_SIZE_32 } byte_size_t;
|
typedef enum { SIZE_8, SIZE_16, SIZE_32 } byte_size_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user