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

1.1     ! root        1: /* fixes.h (was taken from write.c in the original GAS)
        !             2:    Copyright (C) 1986,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: #include "sections.h"
        !            21: #include "obstack.h"
        !            22: #include "frags.h"
        !            23: #include "fixes.h"
        !            24: #include "symbols.h"
        !            25: 
        !            26: /*
        !            27:  * fix_new() creates a fixS in obstack 'notes'.
        !            28:  */
        !            29: void
        !            30: fix_new(
        !            31: fragS  *frag,          /* which frag? */
        !            32: int    where,          /* where in that frag? */
        !            33: int    size,           /* 1, 2 or 4 bytes */
        !            34: symbolS *add_symbol,   /* X_add_symbol */
        !            35: symbolS *sub_symbol,   /* X_subtract_symbol */
        !            36: long    offset,                /* X_add_number */
        !            37: int    pcrel,          /* TRUE if PC-relative relocation */
        !            38: int    pcrel_reloc,    /* TRUE if must have relocation entry */
        !            39: int    r_type)         /* relocation type */
        !            40: {
        !            41:     struct fix *fixP;
        !            42: 
        !            43:        fixP = (struct fix *)obstack_alloc(&notes, sizeof(struct fix));
        !            44: 
        !            45:        fixP->fx_frag        = frag;
        !            46:        fixP->fx_where       = where;
        !            47:        fixP->fx_size        = size;
        !            48:        fixP->fx_addsy       = add_symbol;
        !            49:        fixP->fx_subsy       = sub_symbol;
        !            50:        fixP->fx_offset      = offset;
        !            51:        fixP->fx_pcrel       = pcrel;
        !            52:        fixP->fx_pcrel_reloc = pcrel_reloc;
        !            53:        fixP->fx_r_type      = r_type;
        !            54: 
        !            55:        fixP->fx_next              = frchain_now->frch_fix_root;
        !            56:        frchain_now->frch_fix_root = fixP;
        !            57: }

unix.superglobalmegacorp.com

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