diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-12-30 11:00:22 +0100 |
---|---|---|
committer | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2021-02-23 11:33:14 +0100 |
commit | ed89275cb820bb7ab283c51e461d852d1c8bec63 (patch) | |
tree | e076d92145806c6de92194dfa816e9944c2d27f2 /powerpc | |
parent | 30feb31c6d6e9235acad42ec5d09d14f3919cc36 (diff) | |
download | compcert-kvx-ed89275cb820bb7ab283c51e461d852d1c8bec63.tar.gz compcert-kvx-ed89275cb820bb7ab283c51e461d852d1c8bec63.zip |
Section handling: finer control of variable initialization
Distinguish between:
- uninitialized variables, which can go in COMM if supported
- variables initialized with fixed, numeric quantities,
which can go in a readonly section if "const"
- variables initialized with symbol addresses which may need relocation,
which cannot go in a readonly section even if "const",
but can go in a special "const_data" section.
Also: on macOS, use ".const" instead of ".literal8" for literals,
as not all literals have size 8.
Diffstat (limited to 'powerpc')
-rw-r--r-- | powerpc/TargetPrinter.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/powerpc/TargetPrinter.ml b/powerpc/TargetPrinter.ml index cf00e659..e32348a3 100644 --- a/powerpc/TargetPrinter.ml +++ b/powerpc/TargetPrinter.ml @@ -213,7 +213,7 @@ module Diab_System : SYSTEM = let name_of_section = function | Section_text -> ".text" | Section_data i -> variable_section ~sec:".data" ~bss:".bss" i - | Section_small_data i -> if i then ".sdata" else ".sbss" + | Section_small_data i -> variable_section ~sec:".sdata" ~bss:".sbss" i | Section_const _ -> ".text" | Section_small_const _ -> ".sdata2" | Section_string -> ".text" |