diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h index 359428f25cb..fd56c8c05ae 100644 --- a/tools/winebuild/build.h +++ b/tools/winebuild/build.h @@ -140,7 +140,7 @@ typedef struct 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 diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c index 81325e947af..fab41582c3b 100644 --- a/tools/winebuild/import.c +++ b/tools/winebuild/import.c @@ -648,28 +648,6 @@ static void output_import_thunk( const char *name, const char *table, int pos ) case CPU_x86_64: output( "\tjmpq *%s+%d(%%rip)\n", table, pos ); 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: output( "\tldr IP,[PC,#0]\n"); 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( "\tjmp *%%rax\n" ); 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: output( "\tstmfd SP!, {r4-r10,FP,LR}\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( "\tjmp %s\n", asm_name("__wine_delay_load_asm") ); 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: output( "\tstmfd SP!, {r0-r3}\n" ); output( "\tmov r0, #%d\n", idx ); diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c index 39dbe62a92c..16b416550ba 100644 --- a/tools/winebuild/main.c +++ b/tools/winebuild/main.c @@ -52,8 +52,6 @@ int unwind_tables = 0; enum target_cpu target_cpu = CPU_x86; #elif defined(__x86_64__) enum target_cpu target_cpu = CPU_x86_64; -#elif defined(__sparc__) -enum target_cpu target_cpu = CPU_SPARC; #elif defined(__powerpc__) enum target_cpu target_cpu = CPU_POWERPC; #elif defined(__arm__) diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c index f6c8cd25b93..ab6979732ac 100644 --- a/tools/winebuild/spec32.c +++ b/tools/winebuild/spec32.c @@ -38,7 +38,6 @@ #define IMAGE_FILE_MACHINE_AMD64 0x8664 #define IMAGE_FILE_MACHINE_ARMNT 0x01C4 /* Wine extension */ -#define IMAGE_FILE_MACHINE_SPARC 0x2000 #define IMAGE_FILE_MACHINE_ARM64 0x01C5 #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( "\tcall %s\n", asm_name(constructor) ); 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: output( "\n\t.section \".text\",\"ax\"\n" ); output( "\tblx %s\n", asm_name(constructor) ); @@ -488,7 +482,6 @@ void output_module( DLLSPEC *spec ) { case CPU_x86: case CPU_x86_64: - case CPU_SPARC: output( "\n\t.section \".init\",\"ax\"\n" ); output( "\tjmp 1f\n" ); break; @@ -520,10 +513,9 @@ void output_module( DLLSPEC *spec ) { case CPU_x86: machine = IMAGE_FILE_MACHINE_I386; 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_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 */ 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_64: put_word( IMAGE_FILE_MACHINE_AMD64 ); 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_ARM64: put_word( IMAGE_FILE_MACHINE_ARM64 ); break; } diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c index bab2b85fb0c..44bd92d52b2 100644 --- a/tools/winebuild/utils.c +++ b/tools/winebuild/utils.c @@ -56,7 +56,6 @@ static const struct { "i786", CPU_x86 }, { "amd64", CPU_x86_64 }, { "x86_64", CPU_x86_64 }, - { "sparc", CPU_SPARC }, { "powerpc", CPU_POWERPC }, { "arm", CPU_ARM }, { "arm64", CPU_ARM64 }, @@ -892,7 +891,6 @@ unsigned int get_alignment(unsigned int align) { case CPU_x86: case CPU_x86_64: - case CPU_SPARC: if (target_platform != PLATFORM_APPLE) return align; /* fall through */ case CPU_POWERPC: @@ -917,7 +915,6 @@ unsigned int get_page_size(void) case CPU_POWERPC: return 4096; case CPU_ARM: return 4096; case CPU_ARM64: return 4096; - case CPU_SPARC: return 8192; } /* unreached */ assert(0); @@ -931,7 +928,6 @@ unsigned int get_ptr_size(void) { case CPU_x86: case CPU_POWERPC: - case CPU_SPARC: case CPU_ARM: return 4; case CPU_x86_64: