summaryrefslogtreecommitdiffhomepage
path: root/ir/be/begnuas.c
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-10-05 06:18:31 +0200
committerMatthias Braun <matze@braunis.de>2015-10-05 06:31:42 +0200
commit4602d9835eb905507307a1ea00258162afd53b43 (patch)
tree7503d450ea9d2046ebb4ad74716e4592ce8b8302 /ir/be/begnuas.c
parent09954cdb56db3c5f135152583ea7e7db43049137 (diff)
Introduce ir_visibility_external_protected
Diffstat (limited to 'ir/be/begnuas.c')
-rw-r--r--ir/be/begnuas.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ir/be/begnuas.c b/ir/be/begnuas.c
index ace8421..ac95be7 100644
--- a/ir/be/begnuas.c
+++ b/ir/be/begnuas.c
@@ -564,6 +564,17 @@ static const char *get_visibility_directive(const ir_entity *entity,
}
panic("invalid object file format");
}
+ case ir_visibility_external_protected: {
+ switch (be_gas_object_file_format) {
+ case OBJECT_FILE_FORMAT_MACH_O:
+ return NULL;
+ case OBJECT_FILE_FORMAT_ELF:
+ return ".protected";
+ case OBJECT_FILE_FORMAT_COFF:
+ panic("ir_visibility_external_protected not supported for COFF");
+ }
+ panic("invalid object file format");
+ }
case ir_visibility_local:
case ir_visibility_private:
*output_global = false;