winebuild: Remove SPARC support.
This commit is contained in:
parent
ee7ffdcb53
commit
0ee8e2b5b1
|
@ -140,7 +140,7 @@ typedef struct
|
||||||
|
|
||||||
enum target_cpu
|
enum target_cpu
|
||||||
{
|
{
|
||||||
CPU_x86, CPU_x86_64, CPU_SPARC, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64
|
CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64
|
||||||
};
|
};
|
||||||
|
|
||||||
enum target_platform
|
enum target_platform
|
||||||
|
|
|
@ -648,28 +648,6 @@ static void output_import_thunk( const char *name, const char *table, int pos )
|
||||||
case CPU_x86_64:
|
case CPU_x86_64:
|
||||||
output( "\tjmpq *%s+%d(%%rip)\n", table, pos );
|
output( "\tjmpq *%s+%d(%%rip)\n", table, pos );
|
||||||
break;
|
break;
|
||||||
case CPU_SPARC:
|
|
||||||
if ( !UsePIC )
|
|
||||||
{
|
|
||||||
output( "\tsethi %%hi(%s+%d), %%g1\n", table, pos );
|
|
||||||
output( "\tld [%%g1+%%lo(%s+%d)], %%g1\n", table, pos );
|
|
||||||
output( "\tjmp %%g1\n" );
|
|
||||||
output( "\tnop\n" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Hmpf. Stupid sparc assembler always interprets global variable
|
|
||||||
names as GOT offsets, so we have to do it the long way ... */
|
|
||||||
output( "\tsave %%sp, -96, %%sp\n" );
|
|
||||||
output( "0:\tcall 1f\n" );
|
|
||||||
output( "\tnop\n" );
|
|
||||||
output( "1:\tsethi %%hi(%s+%d-0b), %%g1\n", table, pos );
|
|
||||||
output( "\tor %%g1, %%lo(%s+%d-0b), %%g1\n", table, pos );
|
|
||||||
output( "\tld [%%g1+%%o7], %%g1\n" );
|
|
||||||
output( "\tjmp %%g1\n" );
|
|
||||||
output( "\trestore\n" );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case CPU_ARM:
|
case CPU_ARM:
|
||||||
output( "\tldr IP,[PC,#0]\n");
|
output( "\tldr IP,[PC,#0]\n");
|
||||||
output( "\tldr PC,[IP,#%d]\n", pos);
|
output( "\tldr PC,[IP,#%d]\n", pos);
|
||||||
|
@ -987,13 +965,6 @@ static void output_delayed_import_thunks( const DLLSPEC *spec )
|
||||||
output_cfi( ".cfi_adjust_cfa_offset -88" );
|
output_cfi( ".cfi_adjust_cfa_offset -88" );
|
||||||
output( "\tjmp *%%rax\n" );
|
output( "\tjmp *%%rax\n" );
|
||||||
break;
|
break;
|
||||||
case CPU_SPARC:
|
|
||||||
output( "\tsave %%sp, -96, %%sp\n" );
|
|
||||||
output( "\tcall %s\n", asm_name("__wine_spec_delay_load") );
|
|
||||||
output( "\tmov %%g1, %%o0\n" );
|
|
||||||
output( "\tjmp %%o0\n" );
|
|
||||||
output( "\trestore\n" );
|
|
||||||
break;
|
|
||||||
case CPU_ARM:
|
case CPU_ARM:
|
||||||
output( "\tstmfd SP!, {r4-r10,FP,LR}\n" );
|
output( "\tstmfd SP!, {r4-r10,FP,LR}\n" );
|
||||||
output( "\tmov LR,PC\n");
|
output( "\tmov LR,PC\n");
|
||||||
|
@ -1094,11 +1065,6 @@ static void output_delayed_import_thunks( const DLLSPEC *spec )
|
||||||
output( "\tmovq $%d,%%rax\n", (idx << 16) | j );
|
output( "\tmovq $%d,%%rax\n", (idx << 16) | j );
|
||||||
output( "\tjmp %s\n", asm_name("__wine_delay_load_asm") );
|
output( "\tjmp %s\n", asm_name("__wine_delay_load_asm") );
|
||||||
break;
|
break;
|
||||||
case CPU_SPARC:
|
|
||||||
output( "\tset %d, %%g1\n", (idx << 16) | j );
|
|
||||||
output( "\tb,a %s\n", asm_name("__wine_delay_load_asm") );
|
|
||||||
output( "\tnop\n" );
|
|
||||||
break;
|
|
||||||
case CPU_ARM:
|
case CPU_ARM:
|
||||||
output( "\tstmfd SP!, {r0-r3}\n" );
|
output( "\tstmfd SP!, {r0-r3}\n" );
|
||||||
output( "\tmov r0, #%d\n", idx );
|
output( "\tmov r0, #%d\n", idx );
|
||||||
|
|
|
@ -52,8 +52,6 @@ int unwind_tables = 0;
|
||||||
enum target_cpu target_cpu = CPU_x86;
|
enum target_cpu target_cpu = CPU_x86;
|
||||||
#elif defined(__x86_64__)
|
#elif defined(__x86_64__)
|
||||||
enum target_cpu target_cpu = CPU_x86_64;
|
enum target_cpu target_cpu = CPU_x86_64;
|
||||||
#elif defined(__sparc__)
|
|
||||||
enum target_cpu target_cpu = CPU_SPARC;
|
|
||||||
#elif defined(__powerpc__)
|
#elif defined(__powerpc__)
|
||||||
enum target_cpu target_cpu = CPU_POWERPC;
|
enum target_cpu target_cpu = CPU_POWERPC;
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#define IMAGE_FILE_MACHINE_AMD64 0x8664
|
#define IMAGE_FILE_MACHINE_AMD64 0x8664
|
||||||
#define IMAGE_FILE_MACHINE_ARMNT 0x01C4
|
#define IMAGE_FILE_MACHINE_ARMNT 0x01C4
|
||||||
/* Wine extension */
|
/* Wine extension */
|
||||||
#define IMAGE_FILE_MACHINE_SPARC 0x2000
|
|
||||||
#define IMAGE_FILE_MACHINE_ARM64 0x01C5
|
#define IMAGE_FILE_MACHINE_ARM64 0x01C5
|
||||||
|
|
||||||
#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER 224
|
#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER 224
|
||||||
|
@ -439,11 +438,6 @@ static void output_asm_constructor( const char *constructor )
|
||||||
output( "\n\t.section \".init\",\"ax\"\n" );
|
output( "\n\t.section \".init\",\"ax\"\n" );
|
||||||
output( "\tcall %s\n", asm_name(constructor) );
|
output( "\tcall %s\n", asm_name(constructor) );
|
||||||
break;
|
break;
|
||||||
case CPU_SPARC:
|
|
||||||
output( "\n\t.section \".init\",\"ax\"\n" );
|
|
||||||
output( "\tcall %s\n", asm_name(constructor) );
|
|
||||||
output( "\tnop\n" );
|
|
||||||
break;
|
|
||||||
case CPU_ARM:
|
case CPU_ARM:
|
||||||
output( "\n\t.section \".text\",\"ax\"\n" );
|
output( "\n\t.section \".text\",\"ax\"\n" );
|
||||||
output( "\tblx %s\n", asm_name(constructor) );
|
output( "\tblx %s\n", asm_name(constructor) );
|
||||||
|
@ -488,7 +482,6 @@ void output_module( DLLSPEC *spec )
|
||||||
{
|
{
|
||||||
case CPU_x86:
|
case CPU_x86:
|
||||||
case CPU_x86_64:
|
case CPU_x86_64:
|
||||||
case CPU_SPARC:
|
|
||||||
output( "\n\t.section \".init\",\"ax\"\n" );
|
output( "\n\t.section \".init\",\"ax\"\n" );
|
||||||
output( "\tjmp 1f\n" );
|
output( "\tjmp 1f\n" );
|
||||||
break;
|
break;
|
||||||
|
@ -520,10 +513,9 @@ void output_module( DLLSPEC *spec )
|
||||||
{
|
{
|
||||||
case CPU_x86: machine = IMAGE_FILE_MACHINE_I386; break;
|
case CPU_x86: machine = IMAGE_FILE_MACHINE_I386; break;
|
||||||
case CPU_x86_64: machine = IMAGE_FILE_MACHINE_AMD64; break;
|
case CPU_x86_64: machine = IMAGE_FILE_MACHINE_AMD64; break;
|
||||||
|
case CPU_POWERPC: machine = IMAGE_FILE_MACHINE_POWERPC; break;
|
||||||
case CPU_ARM: machine = IMAGE_FILE_MACHINE_ARMNT; break;
|
case CPU_ARM: machine = IMAGE_FILE_MACHINE_ARMNT; break;
|
||||||
case CPU_ARM64: machine = IMAGE_FILE_MACHINE_ARM64; break;
|
case CPU_ARM64: machine = IMAGE_FILE_MACHINE_ARM64; break;
|
||||||
case CPU_POWERPC: machine = IMAGE_FILE_MACHINE_POWERPC; break;
|
|
||||||
case CPU_SPARC: machine = IMAGE_FILE_MACHINE_SPARC; break;
|
|
||||||
}
|
}
|
||||||
output( "\t%s 0x%04x\n", /* Machine */
|
output( "\t%s 0x%04x\n", /* Machine */
|
||||||
get_asm_short_keyword(), machine );
|
get_asm_short_keyword(), machine );
|
||||||
|
@ -709,7 +701,6 @@ void output_fake_module( DLLSPEC *spec )
|
||||||
case CPU_x86: put_word( IMAGE_FILE_MACHINE_I386 ); break;
|
case CPU_x86: put_word( IMAGE_FILE_MACHINE_I386 ); break;
|
||||||
case CPU_x86_64: put_word( IMAGE_FILE_MACHINE_AMD64 ); break;
|
case CPU_x86_64: put_word( IMAGE_FILE_MACHINE_AMD64 ); break;
|
||||||
case CPU_POWERPC: put_word( IMAGE_FILE_MACHINE_POWERPC ); break;
|
case CPU_POWERPC: put_word( IMAGE_FILE_MACHINE_POWERPC ); break;
|
||||||
case CPU_SPARC: put_word( IMAGE_FILE_MACHINE_SPARC ); break;
|
|
||||||
case CPU_ARM: put_word( IMAGE_FILE_MACHINE_ARMNT ); break;
|
case CPU_ARM: put_word( IMAGE_FILE_MACHINE_ARMNT ); break;
|
||||||
case CPU_ARM64: put_word( IMAGE_FILE_MACHINE_ARM64 ); break;
|
case CPU_ARM64: put_word( IMAGE_FILE_MACHINE_ARM64 ); break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,6 @@ static const struct
|
||||||
{ "i786", CPU_x86 },
|
{ "i786", CPU_x86 },
|
||||||
{ "amd64", CPU_x86_64 },
|
{ "amd64", CPU_x86_64 },
|
||||||
{ "x86_64", CPU_x86_64 },
|
{ "x86_64", CPU_x86_64 },
|
||||||
{ "sparc", CPU_SPARC },
|
|
||||||
{ "powerpc", CPU_POWERPC },
|
{ "powerpc", CPU_POWERPC },
|
||||||
{ "arm", CPU_ARM },
|
{ "arm", CPU_ARM },
|
||||||
{ "arm64", CPU_ARM64 },
|
{ "arm64", CPU_ARM64 },
|
||||||
|
@ -892,7 +891,6 @@ unsigned int get_alignment(unsigned int align)
|
||||||
{
|
{
|
||||||
case CPU_x86:
|
case CPU_x86:
|
||||||
case CPU_x86_64:
|
case CPU_x86_64:
|
||||||
case CPU_SPARC:
|
|
||||||
if (target_platform != PLATFORM_APPLE) return align;
|
if (target_platform != PLATFORM_APPLE) return align;
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case CPU_POWERPC:
|
case CPU_POWERPC:
|
||||||
|
@ -917,7 +915,6 @@ unsigned int get_page_size(void)
|
||||||
case CPU_POWERPC: return 4096;
|
case CPU_POWERPC: return 4096;
|
||||||
case CPU_ARM: return 4096;
|
case CPU_ARM: return 4096;
|
||||||
case CPU_ARM64: return 4096;
|
case CPU_ARM64: return 4096;
|
||||||
case CPU_SPARC: return 8192;
|
|
||||||
}
|
}
|
||||||
/* unreached */
|
/* unreached */
|
||||||
assert(0);
|
assert(0);
|
||||||
|
@ -931,7 +928,6 @@ unsigned int get_ptr_size(void)
|
||||||
{
|
{
|
||||||
case CPU_x86:
|
case CPU_x86:
|
||||||
case CPU_POWERPC:
|
case CPU_POWERPC:
|
||||||
case CPU_SPARC:
|
|
||||||
case CPU_ARM:
|
case CPU_ARM:
|
||||||
return 4;
|
return 4;
|
||||||
case CPU_x86_64:
|
case CPU_x86_64:
|
||||||
|
|
Loading…
Reference in New Issue