--- gcc/config/i860/sysv4.h 2018/04/24 18:14:59 1.1.1.2 +++ gcc/config/i860/sysv4.h 2018/04/24 18:28:44 1.1.1.4 @@ -1,7 +1,7 @@ /* Target definitions for GNU compiler for Intel 80860 running System V.4 Copyright (C) 1991 Free Software Foundation, Inc. - Written by Ron Guilmette (rfg@ncd.com). + Written by Ron Guilmette (rfg@netcom.com). This file is part of GNU CC. @@ -17,7 +17,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ #include "i860/i860.h" #include "svr4.h" @@ -148,10 +149,25 @@ extern char *current_function_original_n fprintf (FILE, ":\n"); \ } while (0) +/* Define the pseudo-ops used to switch to the .ctors and .dtors sections. + + Note that we want to give these sections the SHF_WRITE attribute + because these sections will actually contain data (i.e. tables of + addresses of functions in the current root executable or shared library + file) and, in the case of a shared library, the relocatable addresses + will have to be properly resolved/relocated (and then written into) by + the dynamic linker when it actually attaches the given shared library + to the executing process. (Note that on SVR4, you may wish to use the + `-z text' option to the ELF linker, when building a shared library, as + an additional check that you are doing everything right. But if you do + use the `-z text' option when building a shared library, you will get + errors unless the .ctors and .dtors sections are marked as writable + via the SHF_WRITE attribute.) */ + #undef CTORS_SECTION_ASM_OP -#define CTORS_SECTION_ASM_OP ".section\t.ctors,\"a\",\"progbits\"" +#define CTORS_SECTION_ASM_OP ".section\t.ctors,\"aw\"" #undef DTORS_SECTION_ASM_OP -#define DTORS_SECTION_ASM_OP ".section\t.dtors,\"a\",\"progbits\"" +#define DTORS_SECTION_ASM_OP ".section\t.dtors,\"aw\"" /* Add definitions to support the .tdesc section as specified in the svr4 ABI for the i860. */