Annotation of GNUtools/cctools/as/fixes.h, revision 1.1

1.1     ! root        1: /* fixes.h (was write.h in the original GAS)
        !             2:    Copyright (C) 1987 Free Software Foundation, Inc.
        !             3: 
        !             4: This file is part of GAS, the GNU Assembler.
        !             5: 
        !             6: GAS is free software; you can redistribute it and/or modify
        !             7: it under the terms of the GNU General Public License as published by
        !             8: the Free Software Foundation; either version 1, or (at your option)
        !             9: any later version.
        !            10: 
        !            11: GAS is distributed in the hope that it will be useful,
        !            12: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            14: GNU General Public License for more details.
        !            15: 
        !            16: You should have received a copy of the GNU General Public License
        !            17: along with GAS; see the file COPYING.  If not, write to
        !            18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            19: 
        !            20: /*
        !            21:  * For machines with machine dependent relocation types (encoded in the r_type
        !            22:  * field of a relocation_info struct) they use NO_RELOC in assembling
        !            23:  * instructions which they want to indicate have no relocation.
        !            24:  */
        !            25: #define NO_RELOC        0x10 /* above the range of r_type:4 */
        !            26: 
        !            27: /*
        !            28:  * FixSs may be built up in any order.
        !            29:  */
        !            30: struct fix {
        !            31:     fragS      *fx_frag;       /* which frag? */
        !            32:     long int    fx_where;      /* where is the 1st byte to fix up? */
        !            33:     symbolS    *fx_addsy;      /* NULL or Symbol whose value we add in */
        !            34:     symbolS    *fx_subsy;      /* NULL or Symbol whose value we subtract */
        !            35:     long int    fx_offset;     /* absolute number we add in */
        !            36:     struct fix *fx_next;       /* NULL or -> next fixS */
        !            37:     char        fx_size;       /* how many bytes are involved? */
        !            38:     char        fx_pcrel;      /* TRUE: pc-relative. */
        !            39:     char        fx_pcrel_reloc;/* force a pc-relative relocatation entry */
        !            40:     char        fx_r_type;     /* relocation type */
        !            41:     long        fx_value;      /* the relocated value placed in the frag */
        !            42: };
        !            43: typedef struct fix fixS;
        !            44: 
        !            45: extern void fix_new(
        !            46:        fragS   *frag,          /* which frag? */
        !            47:        int     where,          /* where in that frag? */
        !            48:        int     size,           /* 1, 2 or 4 bytes */
        !            49:        symbolS *add_symbol,    /* X_add_symbol */
        !            50:        symbolS *sub_symbol,    /* X_subtract_symbol */
        !            51:        long    offset,         /* X_add_number */
        !            52:        int     pcrel,          /* TRUE if PC-relative */
        !            53:        int     pcrel_reloc,    /* TRUE if must have relocation entry */
        !            54:        int     r_type);        /* relocation type */

unix.superglobalmegacorp.com

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