aboutsummaryrefslogtreecommitdiffstats
path: root/common/Sections.mli
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-09-17 16:52:29 +0100
committerYann Herklotz <git@yannherklotz.com>2021-09-17 16:52:29 +0100
commit4be142376801c205ffd701208fad8eedf2c08d90 (patch)
treed2f4d54cc34319e380e349eddef61c2994202e8b /common/Sections.mli
parent48a9dcbdc968bcf05b4eec17b8c7fd471fb80240 (diff)
parentc9fad7cd7bdc4e79fb06a1d39abfa0d5471623e5 (diff)
downloadcompcert-4be142376801c205ffd701208fad8eedf2c08d90.tar.gz
compcert-4be142376801c205ffd701208fad8eedf2c08d90.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'common/Sections.mli')
-rw-r--r--common/Sections.mli24
1 files changed, 15 insertions, 9 deletions
diff --git a/common/Sections.mli b/common/Sections.mli
index d9fd9239..8ec98e40 100644
--- a/common/Sections.mli
+++ b/common/Sections.mli
@@ -6,22 +6,28 @@
(* *)
(* Copyright Institut National de Recherche en Informatique et en *)
(* Automatique. All rights reserved. This file is distributed *)
-(* under the terms of the GNU General Public License as published by *)
-(* the Free Software Foundation, either version 2 of the License, or *)
-(* (at your option) any later version. This file is also distributed *)
-(* under the terms of the INRIA Non-Commercial License Agreement. *)
+(* under the terms of the GNU Lesser General Public License as *)
+(* published by the Free Software Foundation, either version 2.1 of *)
+(* the License, or (at your option) any later version. *)
+(* This file is also distributed under the terms of the *)
+(* INRIA Non-Commercial License Agreement. *)
(* *)
(* *********************************************************************)
(* Handling of linker sections *)
+type initialized =
+ | Uninit (* uninitialized data area *)
+ | Init (* initialized with fixed, non-relocatable data *)
+ | Init_reloc (* initialized with relocatable data (symbol addresses) *)
+
type section_name =
| Section_text
- | Section_data of bool (* true = init data, false = uninit data *)
- | Section_small_data of bool
- | Section_const of bool
- | Section_small_const of bool
+ | Section_data of initialized
+ | Section_small_data of initialized
+ | Section_const of initialized
+ | Section_small_const of initialized
| Section_string
| Section_literal
| Section_jumptable
@@ -46,7 +52,7 @@ val define_section:
-> ?writable:bool -> ?executable:bool -> ?access:access_mode -> unit -> unit
val use_section_for: AST.ident -> string -> bool
-val for_variable: Env.t -> C.location -> AST.ident -> C.typ -> bool ->
+val for_variable: Env.t -> C.location -> AST.ident -> C.typ -> initialized ->
section_name * access_mode
val for_function: Env.t -> C.location -> AST.ident -> C.attributes -> section_name list
val for_stringlit: unit -> section_name