aboutsummaryrefslogtreecommitdiffstats
path: root/x86
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2020-07-29 12:16:03 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2020-07-29 16:28:18 +0200
commit338509aef7347fda5db4123d645bb52971fa8a91 (patch)
treeabc51b6cf278ee71489ea28c6ff48518cf660641 /x86
parent0132b8aa669adc10e6ca953d10d5c0b861f304b1 (diff)
downloadcompcert-kvx-338509aef7347fda5db4123d645bb52971fa8a91.tar.gz
compcert-kvx-338509aef7347fda5db4123d645bb52971fa8a91.zip
Remove support for x86-32 under macOS
32-bit executables cannot be built since XCode 10.0 (sep 2018). 32-bit executables cannot be executed since MacOS 10.15 (oct 2019). Better remove x86-32 support and fail at configuration time instead of at the end of the build.
Diffstat (limited to 'x86')
-rw-r--r--x86/TargetPrinter.ml24
1 files changed, 3 insertions, 21 deletions
diff --git a/x86/TargetPrinter.ml b/x86/TargetPrinter.ml
index 6159437e..f0a54506 100644
--- a/x86/TargetPrinter.ml
+++ b/x86/TargetPrinter.ml
@@ -197,7 +197,7 @@ module MacOS_System : SYSTEM =
if i || (not !Clflags.option_fcommon) then ".const" else "COMM"
| Section_string -> ".const"
| Section_literal -> ".literal8"
- | Section_jumptable -> ".text" (* needed in 64 bits, not a problem in 32 bits *)
+ | Section_jumptable -> ".text"
| Section_user(s, wr, ex) ->
sprintf ".section \"%s\", %s, %s"
(if wr then "__DATA" else "__TEXT") s
@@ -216,32 +216,14 @@ module MacOS_System : SYSTEM =
let print_align oc n =
fprintf oc " .align %d\n" (log2 n)
- let indirect_symbols : StringSet.t ref = ref StringSet.empty
-
let print_mov_rs oc rd id =
- if Archi.ptr64 then begin
- fprintf oc " movq %a@GOTPCREL(%%rip), %a\n" symbol id ireg64 rd
- end else begin
- let id = extern_atom id in
- indirect_symbols := StringSet.add id !indirect_symbols;
- fprintf oc " movl L%a$non_lazy_ptr, %a\n" raw_symbol id ireg rd
- end
+ fprintf oc " movq %a@GOTPCREL(%%rip), %a\n" symbol id ireg64 rd
let print_fun_info _ _ = ()
let print_var_info _ _ = ()
- let print_epilogue oc =
- if not Archi.ptr64 then begin
- fprintf oc " .section __IMPORT,__pointers,non_lazy_symbol_pointers\n";
- StringSet.iter
- (fun s ->
- fprintf oc "L%a$non_lazy_ptr:\n" raw_symbol s;
- fprintf oc " .indirect_symbol %a\n" raw_symbol s;
- fprintf oc " .long 0\n")
- !indirect_symbols;
- indirect_symbols := StringSet.empty
- end
+ let print_epilogue oc = ()
let print_comm_decl oc name sz al =
fprintf oc " .comm %a, %s, %d\n"