summaryrefslogtreecommitdiff
path: root/gcc/config/i386/midipix.c
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-05-16 05:28:15 +0000
committermidipix <writeonce@midipix.org>2025-05-16 05:28:15 +0000
commit42f8e80eeaca27952af165076c5ce921bb7b3f45 (patch)
tree983301cc3658c086040b31ac0bad15db74bd1150 /gcc/config/i386/midipix.c
parent1ae38064a5cfaa3dfb7cb33d072604a07f203cd8 (diff)
downloadcbb-gcc-4.6.4-42f8e80eeaca27952af165076c5ce921bb7b3f45.tar.bz2
cbb-gcc-4.6.4-42f8e80eeaca27952af165076c5ce921bb7b3f45.tar.xz
midipix targets: utilize the framework-specific .symattr section to mark hidden symbols.
Diffstat (limited to 'gcc/config/i386/midipix.c')
-rw-r--r--gcc/config/i386/midipix.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/i386/midipix.c b/gcc/config/i386/midipix.c
index 4d511722f..ca571049c 100644
--- a/gcc/config/i386/midipix.c
+++ b/gcc/config/i386/midipix.c
@@ -185,6 +185,22 @@ static void midipix_pe_create_got_entry(FILE * stream, const char * name, tree d
fputs("\n",stream);
fputs(TARGET_64BIT ? "\t.long\t" "0" "\n" : "",stream);
fputs("\n\n",stream);
+
+ /* default visilbity? */
+ if (visibility == VISIBILITY_DEFAULT)
+ return;
+
+ /* .symattr section */
+ fputs("\n",stream);
+ fputs(GAS_SECTION,stream);
+ fputs(SYMATTR_SECTION_NAME,stream);
+ fputs(SYMATTR_SECTION_ATTR,stream);
+
+ /* .symattr.hidden. */
+ fputs("\n.symattr.hidden.",stream);
+ assemble_name(stream,name);
+ fputs(":\n",stream);
+ fputs("\t.linkonce discard\n\n",stream);
}