aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRasmus Villemoes <rv@rasmusvillemoes.dk>2018-08-21 10:50:27 +0200
committerRasmus Villemoes <villemoes@gcc.gnu.org>2018-08-21 08:50:27 +0000
commitace193dc4773159a2c545ab6ca80842c56019e3a (patch)
treefc20d372cc962ea6382184e80aa1fcac7b03a9ff /gcc/tree.c
parent9a5b8df7007b350015509ee8f809fd7d2c8fa963 (diff)
downloadgcc-ace193dc4773159a2c545ab6ca80842c56019e3a.zip
gcc-ace193dc4773159a2c545ab6ca80842c56019e3a.tar.gz
gcc-ace193dc4773159a2c545ab6ca80842c56019e3a.tar.bz2
vxworks: enable use of .init_array/.fini_array for cdtors
The target OS actually runs all function pointers found in the _ctors array when the module is loaded. So it is not that hard to make use of the "modern" .init_array/.fini_array mechanism - it mostly just requires a linker script adding the _ctors and _dtors symbols and terminating LONG(0) entries. Assume that if the user passed --enable-initfini-array when building gcc, the rest of the toolchain (including the link spec and linker script) is set up appropriately. Note that configuring with --enable-initfini-array may prevent the -mrtp mode from working, due to the (unconditional) use of .init_array.* sections instead of .ctors.* - however, that is the case regardless of this patch. From-SVN: r263691
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions