Annotation of gcc/config/aoutos.h, revision 1.1

1.1     ! root        1: /* aoutos.h  --  operating system specific defines to be used when
        !             2:    targeting GCC for some system that uses a.out file format.
        !             3:    Copyright (C) 1992 Free Software Foundation, Inc.
        !             4: 
        !             5:    Written by Ron Guilmette ([email protected]).
        !             6: 
        !             7: This file is part of GNU CC.
        !             8: 
        !             9: GNU CC is free software; you can redistribute it and/or modify
        !            10: it under the terms of the GNU General Public License as published by
        !            11: the Free Software Foundation; either version 2, or (at your option)
        !            12: any later version.
        !            13: 
        !            14: GNU CC is distributed in the hope that it will be useful,
        !            15: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            16: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            17: GNU General Public License for more details.
        !            18: 
        !            19: You should have received a copy of the GNU General Public License
        !            20: along with GNU CC; see the file COPYING.  If not, write to
        !            21: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            22: 
        !            23: /* To use this file, make up a file with a name like:
        !            24: 
        !            25:        ?????aout.h
        !            26: 
        !            27:    where ????? is replaced by the name of the basic hardware that you
        !            28:    are targeting for.  Then, in the file ?????aout.h, put something
        !            29:    like:
        !            30: 
        !            31:        #include "?????.h"
        !            32:        #include "aoutos.h"
        !            33: 
        !            34:    followed by any really system-specific defines (or overrides of
        !            35:    defines) which you find that you need.  Now, modify the configure
        !            36:    or configure.in script to properly use the new ?????aout.h file
        !            37:    when configuring for the system.  */
        !            38: 
        !            39: /* A C statement (sans semicolon) to output an element in the table of
        !            40:    global constructors. 
        !            41:    If using GNU LD, tell it that this is part of the static destructor set. 
        !            42:    This code works for any machine provided you use GNU as/ld.
        !            43:    If not using GNU LD, rely on a "collect" program to look for names defined
        !            44:    in the particular form we choose as global constructor function names.  */
        !            45: 
        !            46: #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)                              \
        !            47:   do {                                                                 \
        !            48:     if (flag_gnu_linker)                                               \
        !            49:       {                                                                        \
        !            50:        /* Output an N_SETT (0x16, 22.) for the name.  */               \
        !            51:        fprintf (FILE, "%s \"___CTOR_LIST__\",22,0,0,", ASM_STABS_OP);  \
        !            52:        assemble_name (FILE, NAME);                                     \
        !            53:        fputc ('\n', FILE);                                             \
        !            54:       }                                                                        \
        !            55:   } while (0)
        !            56: 
        !            57: 
        !            58: /* A C statement (sans semicolon) to output an element in the table of
        !            59:    global destructors.  */
        !            60: 
        !            61: #define ASM_OUTPUT_DESTRUCTOR(FILE,NAME)                                       \
        !            62:   do {                                                                 \
        !            63:     if (flag_gnu_linker)                                               \
        !            64:       {                                                                        \
        !            65:        /* Output an N_SETT (0x16, 22.) for the name.  */               \
        !            66:        fprintf (FILE, "%s \"___DTOR_LIST__\",22,0,0,", ASM_STABS_OP);  \
        !            67:        assemble_name (FILE, NAME);                                     \
        !            68:        fputc ('\n', FILE);                                             \
        !            69:       }                                                                        \
        !            70:   } while (0)
        !            71: 
        !            72: /* Likewise for entries we want to record for garbage collection.
        !            73:    Garbage collection is still under development.  */
        !            74: 
        !            75: #define ASM_OUTPUT_GC_ENTRY(FILE,NAME)                                 \
        !            76:   do {                                                                 \
        !            77:     if (flag_gnu_linker)                                               \
        !            78:       {                                                                        \
        !            79:        /* Output an N_SETT (0x16, 22.) for the name.  */               \
        !            80:        fprintf (FILE, "%s \"___PTR_LIST__\",22,0,0,", ASM_STABS_OP);   \
        !            81:        assemble_name (FILE, NAME);                                     \
        !            82:        fputc ('\n', FILE);                                             \
        !            83:       }                                                                        \
        !            84:   } while (0)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.