summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-02-02 12:08:04 -0500
committermidipix <writeonce@midipix.org>2019-02-02 12:08:04 -0500
commitd02d06a6da4f4ec4224f3cc1f1a85f294139d4c6 (patch)
tree49c0962149f123eeef62e76359a92d34f42b0b4c
parent198891e6b915da53407f65525c3c90b098ea8c8e (diff)
downloadcbb-gcc-4.6.4-d02d06a6da4f4ec4224f3cc1f1a85f294139d4c6.tar.bz2
cbb-gcc-4.6.4-d02d06a6da4f4ec4224f3cc1f1a85f294139d4c6.tar.xz
midipix targets: generate the .got entry for default & hidden visibility syms.
-rw-r--r--gcc/config/i386/midipix.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/i386/midipix.c b/gcc/config/i386/midipix.c
index 5f4fe5145..6ba5ee8b9 100644
--- a/gcc/config/i386/midipix.c
+++ b/gcc/config/i386/midipix.c
@@ -134,15 +134,17 @@ void midipix_asm_generate_internal_label (
static void midipix_pe_create_got_entry(FILE * stream, const char * name, tree decl)
{
+ int visibility;
+
const char * ptrsize = TARGET_64BIT
? winnt_ptrsize_quad
: winnt_ptrsize_long;
- if (decl->decl_with_vis.visibility == VISIBILITY_DEFAULT)
- if (default_visibility != VISIBILITY_DEFAULT)
- return;
+ visibility = (decl->decl_with_vis.visibility == VISIBILITY_DEFAULT)
+ ? default_visibility
+ : decl->decl_with_vis.visibility;
- if (decl->decl_with_vis.visibility != VISIBILITY_DEFAULT)
+ if ((visibility == VISIBILITY_PROTECTED) || (visibility == VISIBILITY_INTERNAL))
return;
fputs("\n",stream);