diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-12-30 11:41:10 +0100 |
---|---|---|
committer | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2021-02-23 11:33:14 +0100 |
commit | 30feb31c6d6e9235acad42ec5d09d14f3919cc36 (patch) | |
tree | 8bcf3c6c4a0bd2875d36858979de1a5cd219d677 /x86 | |
parent | 25483cf1acce8695a438f4f2164b09fb1ecd9d2e (diff) | |
download | compcert-30feb31c6d6e9235acad42ec5d09d14f3919cc36.tar.gz compcert-30feb31c6d6e9235acad42ec5d09d14f3919cc36.zip |
Introduce and use PrintAsmaux.variable_section
This is a generalization of the previous PrintAsmaux.common_section
function that
- handles initialized variables in addition to uninitialized variables;
- can be used for Section_const, not just for Section_data.
Diffstat (limited to 'x86')
-rw-r--r-- | x86/TargetPrinter.ml | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/x86/TargetPrinter.ml b/x86/TargetPrinter.ml index 39d0c7dc..102edce4 100644 --- a/x86/TargetPrinter.ml +++ b/x86/TargetPrinter.ml @@ -134,9 +134,9 @@ module ELF_System : SYSTEM = let name_of_section = function | Section_text -> ".text" | Section_data i | Section_small_data i -> - if i then ".data" else common_section () + variable_section ~sec:".data" ~bss:".bss" i | Section_const i | Section_small_const i -> - if i || (not !Clflags.option_fcommon) then ".section .rodata" else "COMM" + variable_section ~sec:".section .rodata" i | Section_string -> ".section .rodata" | Section_literal -> ".section .rodata.cst8,\"aM\",@progbits,8" | Section_jumptable -> ".text" @@ -192,9 +192,9 @@ module MacOS_System : SYSTEM = let name_of_section = function | Section_text -> ".text" | Section_data i | Section_small_data i -> - if i || (not !Clflags.option_fcommon) then ".data" else "COMM" + variable_section ~sec:".data" i | Section_const i | Section_small_const i -> - if i || (not !Clflags.option_fcommon) then ".const" else "COMM" + variable_section ~sec:".const" i | Section_string -> ".const" | Section_literal -> ".literal8" | Section_jumptable -> ".text" @@ -254,9 +254,9 @@ module Cygwin_System : SYSTEM = let name_of_section = function | Section_text -> ".text" | Section_data i | Section_small_data i -> - if i then ".data" else common_section () + variable_section ~sec:".data" ~bss:".bss" i | Section_const i | Section_small_const i -> - if i || (not !Clflags.option_fcommon) then ".section .rdata,\"dr\"" else "COMM" + variable_section ~sec:".section .rdata,\"dr\"" i | Section_string -> ".section .rdata,\"dr\"" | Section_literal -> ".section .rdata,\"dr\"" | Section_jumptable -> ".text" |