Indirect:
bfd.info-1: 680
bfd.info-2: 38513
-bfd.info-3: 83014
-bfd.info-4: 132756
-bfd.info-5: 181734
-bfd.info-6: 214313
-bfd.info-7: 260724
+bfd.info-3: 83193
+bfd.info-4: 132987
+bfd.info-5: 181965
+bfd.info-6: 214544
+bfd.info-7: 260955
\1f
Tag Table:
(Indirect)
Node: Section Input\7f34689
Node: Section Output\7f36045
Node: typedef asection\7f38513
-Node: section prototypes\7f54206
-Node: Symbols\7f60891
-Node: Reading Symbols\7f62481
-Node: Writing Symbols\7f63655
-Node: Mini Symbols\7f65345
-Node: typedef asymbol\7f66310
-Node: symbol handling functions\7f71539
-Node: Archives\7f75866
-Node: Formats\7f79484
-Node: Relocations\7f82294
-Node: typedef arelent\7f83014
-Node: howto manager\7f99173
-Node: Core Files\7f129772
-Node: Targets\7f130793
-Node: bfd_target\7f132756
-Node: Architectures\7f151670
-Node: Opening and Closing\7f166892
-Node: Internal\7f171289
-Node: File Caching\7f177289
-Node: Linker Functions\7f180068
-Node: Creating a Linker Hash Table\7f181734
-Node: Adding Symbols to the Hash Table\7f183462
-Node: Differing file formats\7f184352
-Node: Adding symbols from an object file\7f186085
-Node: Adding symbols from an archive\7f188221
-Node: Performing the Final Link\7f190620
-Node: Information provided by the linker\7f191851
-Node: Relocating the section contents\7f192987
-Node: Writing the symbol table\7f194724
-Node: Hash Tables\7f197318
-Node: Creating and Freeing a Hash Table\7f198509
-Node: Looking Up or Entering a String\7f199666
-Node: Traversing a Hash Table\7f200908
-Node: Deriving a New Hash Table Type\7f201686
-Node: Define the Derived Structures\7f202741
-Node: Write the Derived Creation Routine\7f203807
-Node: Write Other Derived Routines\7f206506
-Node: BFD back ends\7f207806
-Node: What to Put Where\7f208050
-Node: aout\7f208188
-Node: coff\7f214313
-Node: elf\7f241469
-Node: GNU Free Documentation License\7f242302
-Node: Index\7f260724
+Node: section prototypes\7f54385
+Node: Symbols\7f61070
+Node: Reading Symbols\7f62660
+Node: Writing Symbols\7f63834
+Node: Mini Symbols\7f65524
+Node: typedef asymbol\7f66489
+Node: symbol handling functions\7f71718
+Node: Archives\7f76045
+Node: Formats\7f79663
+Node: Relocations\7f82473
+Node: typedef arelent\7f83193
+Node: howto manager\7f99352
+Node: Core Files\7f130003
+Node: Targets\7f131024
+Node: bfd_target\7f132987
+Node: Architectures\7f151901
+Node: Opening and Closing\7f167123
+Node: Internal\7f171520
+Node: File Caching\7f177520
+Node: Linker Functions\7f180299
+Node: Creating a Linker Hash Table\7f181965
+Node: Adding Symbols to the Hash Table\7f183693
+Node: Differing file formats\7f184583
+Node: Adding symbols from an object file\7f186316
+Node: Adding symbols from an archive\7f188452
+Node: Performing the Final Link\7f190851
+Node: Information provided by the linker\7f192082
+Node: Relocating the section contents\7f193218
+Node: Writing the symbol table\7f194955
+Node: Hash Tables\7f197549
+Node: Creating and Freeing a Hash Table\7f198740
+Node: Looking Up or Entering a String\7f199897
+Node: Traversing a Hash Table\7f201139
+Node: Deriving a New Hash Table Type\7f201917
+Node: Define the Derived Structures\7f202972
+Node: Write the Derived Creation Routine\7f204038
+Node: Write Other Derived Routines\7f206737
+Node: BFD back ends\7f208037
+Node: What to Put Where\7f208281
+Node: aout\7f208419
+Node: coff\7f214544
+Node: elf\7f241700
+Node: GNU Free Documentation License\7f242533
+Node: Index\7f260955
\1f
End Tag Table
/* A mark flag used by some of the linker backends. */
unsigned int linker_mark : 1;
+ /* Another mark flag used by some of the linker backends. Set for
+ output sections that have a input section. */
+ unsigned int linker_has_input : 1;
+
/* A mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
- : BFD_RELOC_SPARC_GLOB_DAT
- : BFD_RELOC_SPARC_JMP_SLOT
- : BFD_RELOC_SPARC_RELATIVE
+ - : BFD_RELOC_SPARC_UA16
- : BFD_RELOC_SPARC_UA32
+ - : BFD_RELOC_SPARC_UA64
SPARC ELF relocations. There is probably some overlap with other
relocation types already defined.
* BFD_RELOC_SPARC_REGISTER: howto manager.
* BFD_RELOC_SPARC_RELATIVE: howto manager.
* BFD_RELOC_SPARC_REV32: howto manager.
+* BFD_RELOC_SPARC_UA16: howto manager.
* BFD_RELOC_SPARC_UA32: howto manager.
+* BFD_RELOC_SPARC_UA64: howto manager.
* BFD_RELOC_SPARC_WDISP16: howto manager.
* BFD_RELOC_SPARC_WDISP19: howto manager.
* BFD_RELOC_SPARC_WDISP22: howto manager.
@deffnx {} BFD_RELOC_SPARC_GLOB_DAT
@deffnx {} BFD_RELOC_SPARC_JMP_SLOT
@deffnx {} BFD_RELOC_SPARC_RELATIVE
+@deffnx {} BFD_RELOC_SPARC_UA16
@deffnx {} BFD_RELOC_SPARC_UA32
+@deffnx {} BFD_RELOC_SPARC_UA64
SPARC ELF relocations. There is probably some overlap with other
relocation types already defined.
@end deffn
/* A mark flag used by some of the linker backends. */
unsigned int linker_mark : 1;
+ /* Another mark flag used by some of the linker backends. Set for
+ output sections that have a input section. */
+ unsigned int linker_has_input : 1;
+
/* A mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
#line 2 "arlex.l"
/* arlex.l - Strange script language lexer */
-/* Copyright (C) 1992, 95, 1997 Free Software Foundation, Inc.
+/* Copyright 1992, 1997, 2000 Free Software Foundation, Inc.
This file is part of GNU Binutils.
/* arparse.y - Stange script language parser */
-/* Copyright (C) 1992, 93, 95, 97, 98, 1999 Free Software Foundation, Inc.
+/* Copyright 1992, 1993, 1995, 1997, 1999 Free Software Foundation, Inc.
This file is part of GNU Binutils.
5, 5, 0, 0, -1, 36
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
\1f
Indirect:
binutils.info-1: 1680
-binutils.info-2: 51584
-binutils.info-3: 99084
+binutils.info-2: 42164
+binutils.info-3: 91804
\1f
Tag Table:
(Indirect)
Node: Top\7f1680
-Node: ar\7f3177
-Node: ar cmdline\7f5351
-Node: ar scripts\7f13479
-Node: nm\7f19158
-Node: objcopy\7f26576
-Node: objdump\7f40217
-Node: ranlib\7f50835
-Node: size\7f51584
-Node: strings\7f54315
-Node: strip\7f56140
-Node: c++filt\7f59105
-Ref: c++filt-Footnote-1\7f62042
-Node: addr2line\7f62148
-Node: nlmconv\7f64743
-Node: windres\7f67347
-Node: dlltool\7f72399
-Node: readelf\7f81740
-Node: Selecting The Target System\7f84908
-Node: Target Selection\7f85925
-Node: Architecture Selection\7f88626
-Node: Linker Emulation Selection\7f89857
-Node: Reporting Bugs\7f90735
-Node: Bug Criteria\7f91511
-Node: Bug Reporting\7f92057
-Node: GNU Free Documentation License\7f99084
-Node: Index\7f117512
+Node: ar\7f3179
+Node: ar cmdline\7f5353
+Node: ar scripts\7f13481
+Node: nm\7f19160
+Node: objcopy\7f26578
+Node: objdump\7f42164
+Node: ranlib\7f52782
+Node: size\7f53531
+Node: strings\7f56262
+Node: strip\7f58087
+Node: c++filt\7f61052
+Ref: c++filt-Footnote-1\7f63989
+Node: addr2line\7f64095
+Node: nlmconv\7f66690
+Node: windres\7f69294
+Node: dlltool\7f74346
+Node: readelf\7f83687
+Node: Selecting The Target System\7f86855
+Node: Target Selection\7f87872
+Node: Architecture Selection\7f90573
+Node: Linker Emulation Selection\7f91804
+Node: Reporting Bugs\7f92682
+Node: Bug Criteria\7f93458
+Node: Bug Reporting\7f94004
+Node: GNU Free Documentation License\7f101031
+Node: Index\7f119459
\1f
End Tag Table
************
This brief manual contains preliminary documentation for the GNU
-binary utilities (collectively version 2.11):
+binary utilities (collectively version 2.11.1):
This document is distributed under the terms of the GNU Free
Documentation License. A copy of the license is included in the
[ -S | --strip-all ] [ -g | --strip-debug ]
[ -K SYMBOLNAME | --keep-symbol=SYMBOLNAME ]
[ -N SYMBOLNAME | --strip-symbol=SYMBOLNAME ]
+ [ -G SYMBOLNAME | --keep-global-symbol=SYMBOLNAME]
[ -L SYMBOLNAME | --localize-symbol=SYMBOLNAME ]
[ -W SYMBOLNAME | --weaken-symbol=SYMBOLNAME ]
[ -x | --discard-all ] [ -X | --discard-locals ]
[ --change-leading-char ] [ --remove-leading-char ]
[ --srec-len=IVAL ] [ --srec-forceS3 ]
[ --redefine-sym OLD=NEW ] [ --weaken ]
+ [ --keep-symbols=FILENAME ]
+ [ --strip-symbols=FILENAME ]
+ [ --keep-global-symbols=FILENAME ]
+ [ --localize-symbols=FILENAME ]
+ [ --weaken-symbols=FILENAME ]
[ -v | --verbose ] [ -V | --version ] [ --help ]
INFILE [OUTFILE]
Do not copy symbol SYMBOLNAME from the source file. This option
may be given more than once.
+`-G SYMBOLNAME'
+`--keep-global-symbol=SYMBOLNAME'
+ Keep only symbol SYMBOLNAME global. Make all other symbols local
+ to the file, so that they are not visible externally. This option
+ may be given more than once.
+
`-L SYMBOLNAME'
`--localize-symbol=SYMBOLNAME'
Make symbol SYMBOLNAME local to the file, so that it is not
effective when using an object file format which supports weak
symbols.
+`--keep-symbols=FILENAME'
+ Apply `--keep-symbol' option to each symbol listed in the file
+ FILENAME. FILENAME is simply a flat file, with one symbol name
+ per line. Line comments may be introduced by the hash character.
+ This option may be given more than once.
+
+`--strip-symbols=FILENAME'
+ Apply `--strip-symbol' option to each symbol listed in the file
+ FILENAME. FILENAME is simply a flat file, with one symbol name
+ per line. Line comments may be introduced by the hash character.
+ This option may be given more than once.
+
+`--keep-global-symbols=FILENAME'
+ Apply `--keep-global-symbol' option to each symbol listed in the
+ file FILENAME. FILENAME is simply a flat file, with one symbol
+ name per line. Line comments may be introduced by the hash
+ character. This option may be given more than once.
+
+`--localize-symbols=FILENAME'
+ Apply `--localize-symbol' option to each symbol listed in the file
+ FILENAME. FILENAME is simply a flat file, with one symbol name
+ per line. Line comments may be introduced by the hash character.
+ This option may be given more than once.
+
+`--weaken-symbols=FILENAME'
+ Apply `--weaken-symbol' option to each symbol listed in the file
+ FILENAME. FILENAME is simply a flat file, with one symbol name
+ per line. Line comments may be introduced by the hash character.
+ This option may be given more than once.
+
`-V'
`--version'
Show the version number of `objcopy'.
`--help'
Show a summary of the options to `objcopy'.
-\1f
-File: binutils.info, Node: objdump, Next: ranlib, Prev: objcopy, Up: Top
-
-objdump
-*******
-
- objdump [ -a | --archive-headers ]
- [ -b BFDNAME | --target=BFDNAME ]
- [ -C | --demangle[=STYLE] ]
- [ -d | --disassemble ]
- [ -D | --disassemble-all ]
- [ -z | --disassemble-zeroes ]
- [ -EB | -EL | --endian={big | little } ]
- [ -f | --file-headers ]
- [ --file-start-context ]
- [ -g | --debugging ]
- [ -h | --section-headers | --headers ]
- [ -i | --info ]
- [ -j SECTION | --section=SECTION ]
- [ -l | --line-numbers ]
- [ -S | --source ]
- [ -m MACHINE | --architecture=MACHINE ]
- [ -M OPTIONS | --disassembler-options=OPTIONS]
- [ -p | --private-headers ]
- [ -r | --reloc ]
- [ -R | --dynamic-reloc ]
- [ -s | --full-contents ]
- [ -G | --stabs ]
- [ -t | --syms ]
- [ -T | --dynamic-syms ]
- [ -x | --all-headers ]
- [ -w | --wide ]
- [ --start-address=ADDRESS ]
- [ --stop-address=ADDRESS ]
- [ --prefix-addresses]
- [ --[no-]show-raw-insn ]
- [ --adjust-vma=OFFSET ]
- [ -V | --version ]
- [ -H | --help ]
- OBJFILE...
-
- `objdump' displays information about one or more object files. The
-options control what particular information to display. This
-information is mostly useful to programmers who are working on the
-compilation tools, as opposed to programmers who just want their
-program to compile and work.
-
- OBJFILE... are the object files to be examined. When you specify
-archives, `objdump' shows information on each of the member object
-files.
-
- The long and short forms of options, shown here as alternatives, are
-equivalent. At least one option from the list
-`-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x' must be given.
-
-`-a'
-`--archive-header'
- If any of the OBJFILE files are archives, display the archive
- header information (in a format similar to `ls -l'). Besides the
- information you could list with `ar tv', `objdump -a' shows the
- object file format of each archive member.
-
-`--adjust-vma=OFFSET'
- When dumping information, first add OFFSET to all the section
- addresses. This is useful if the section addresses do not
- correspond to the symbol table, which can happen when putting
- sections at particular addresses when using a format which can not
- represent section addresses, such as a.out.
-
-`-b BFDNAME'
-`--target=BFDNAME'
- Specify that the object-code format for the object files is
- BFDNAME. This option may not be necessary; OBJDUMP can
- automatically recognize many formats.
-
- For example,
- objdump -b oasys -m vax -h fu.o
-
- displays summary information from the section headers (`-h') of
- `fu.o', which is explicitly identified (`-m') as a VAX object file
- in the format produced by Oasys compilers. You can list the
- formats available with the `-i' option. *Note Target Selection::,
- for more information.
-
-`-C'
-`--demangle[=STYLE]'
- Decode ("demangle") low-level symbol names into user-level names.
- Besides removing any initial underscore prepended by the system,
- this makes C++ function names readable. Different compilers have
- different mangling styles. The optional demangling style argument
- can be used to choose an appropriate demangling style for your
- compiler. *Note c++filt::, for more information on demangling.
-
-`-G'
-
-`--debugging'
- Display debugging information. This attempts to parse debugging
- information stored in the file and print it out using a C like
- syntax. Only certain types of debugging information have been
- implemented.
-
-`-d'
-`--disassemble'
- Display the assembler mnemonics for the machine instructions from
- OBJFILE. This option only disassembles those sections which are
- expected to contain instructions.
-
-`-D'
-`--disassemble-all'
- Like `-d', but disassemble the contents of all sections, not just
- those expected to contain instructions.
-
-`--prefix-addresses'
- When disassembling, print the complete address on each line. This
- is the older disassembly format.
-
-`--disassemble-zeroes'
- Normally the disassembly output will skip blocks of zeroes. This
- option directs the disassembler to disassemble those blocks, just
- like any other data.
-
-`-EB'
-`-EL'
-`--endian={big|little}'
- Specify the endianness of the object files. This only affects
- disassembly. This can be useful when disassembling a file format
- which does not describe endianness information, such as S-records.
-
-`-f'
-`--file-header'
- Display summary information from the overall header of each of the
- OBJFILE files.
-
-`--file-start-context'
- Specify that when displaying interlisted source code/disassembly
- (assumes '-S') from a file that has not yet been displayed, extend
- the context to the start of the file.
-
-`-h'
-`--section-header'
-`--header'
- Display summary information from the section headers of the object
- file.
-
- File segments may be relocated to nonstandard addresses, for
- example by using the `-Ttext', `-Tdata', or `-Tbss' options to
- `ld'. However, some object file formats, such as a.out, do not
- store the starting address of the file segments. In those
- situations, although `ld' relocates the sections correctly, using
- `objdump -h' to list the file section headers cannot show the
- correct addresses. Instead, it shows the usual addresses, which
- are implicit for the target.
-
-`--help'
- Print a summary of the options to `objdump' and exit.
-
-`-i'
-`--info'
- Display a list showing all architectures and object formats
- available for specification with `-b' or `-m'.
-
-`-j NAME'
-`--section=NAME'
- Display information only for section NAME.
-
-`-l'
-`--line-numbers'
- Label the display (using debugging information) with the filename
- and source line numbers corresponding to the object code or relocs
- shown. Only useful with `-d', `-D', or `-r'.
-
-`-m MACHINE'
-`--architecture=MACHINE'
- Specify the architecture to use when disassembling object files.
- This can be useful when disassembling object files which do not
- describe architecture information, such as S-records. You can
- list the available architectures with the `-i' option.
-
-`-M OPTIONS'
-`--disassembler-options=OPTIONS'
- Pass target specific information to the disassembler. Only
- supported on some targets.
-
- If the target is an ARM architecture then this switch can be used
- to select which register name set is used during disassembler.
- Specifying `-M reg-name-std' (the default) will select the
- register names as used in ARM's instruction set documentation, but
- with register 13 called 'sp', register 14 called 'lr' and register
- 15 called 'pc'. Specifying `-M reg-names-apcs' will select the
- name set used by the ARM Procedure Call Standard, whilst
- specifying `-M reg-names-raw' will just use `r' followed by the
- register number.
-
- There are also two variants on the APCS register naming scheme
- enabled by `-M reg-names-atpcs' and `-M reg-names-special-atpcs'
- which use the ARM/Thumb Procedure Call Standard naming
- conventions. (Eiuther with the normal register name sor the
- special register names).
-
- This option can also be used for ARM architectures to force the
- disassembler to interpret all instructions as THUMB instructions by
- using the switch `--disassembler-options=force-thumb'. This can be
- useful when attempting to disassemble thumb code produced by other
- compilers.
-
-`-p'
-`--private-headers'
- Print information that is specific to the object file format. The
- exact information printed depends upon the object file format.
- For some object file formats, no additional information is printed.
-
-`-r'
-`--reloc'
- Print the relocation entries of the file. If used with `-d' or
- `-D', the relocations are printed interspersed with the
- disassembly.
-
-`-R'
-`--dynamic-reloc'
- Print the dynamic relocation entries of the file. This is only
- meaningful for dynamic objects, such as certain types of shared
- libraries.
-
-`-s'
-`--full-contents'
- Display the full contents of any sections requested.
-
-`-S'
-`--source'
- Display source code intermixed with disassembly, if possible.
- Implies `-d'.
-
-`--show-raw-insn'
- When disassembling instructions, print the instruction in hex as
- well as in symbolic form. This is the default except when
- `--prefix-addresses' is used.
-
-`--no-show-raw-insn'
- When disassembling instructions, do not print the instruction
- bytes. This is the default when `--prefix-addresses' is used.
-
-`-G'
-
-`--stabs'
- Display the full contents of any sections requested. Display the
- contents of the .stab and .stab.index and .stab.excl sections from
- an ELF file. This is only useful on systems (such as Solaris 2.0)
- in which `.stab' debugging symbol-table entries are carried in an
- ELF section. In most other file formats, debugging symbol-table
- entries are interleaved with linkage symbols, and are visible in
- the `--syms' output. For more information on stabs symbols, see
- *Note Stabs: (stabs.info)Top.
-
-`--start-address=ADDRESS'
- Start displaying data at the specified address. This affects the
- output of the `-d', `-r' and `-s' options.
-
-`--stop-address=ADDRESS'
- Stop displaying data at the specified address. This affects the
- output of the `-d', `-r' and `-s' options.
-
-`-t'
-`--syms'
- Print the symbol table entries of the file. This is similar to
- the information provided by the `nm' program.
-
-`-T'
-`--dynamic-syms'
- Print the dynamic symbol table entries of the file. This is only
- meaningful for dynamic objects, such as certain types of shared
- libraries. This is similar to the information provided by the `nm'
- program when given the `-D' (`--dynamic') option.
-
-`--version'
- Print the version number of `objdump' and exit.
-
-`-x'
-`--all-header'
- Display all available header information, including the symbol
- table and relocation entries. Using `-x' is equivalent to
- specifying all of `-a -f -h -r -t'.
-
-`-w'
-`--wide'
- Format some lines for output devices that have more than 80
- columns.
-
-\1f
-File: binutils.info, Node: ranlib, Next: readelf, Prev: objdump, Up: Top
-
-ranlib
-******
-
- ranlib [-vV] ARCHIVE
-
- `ranlib' generates an index to the contents of an archive and stores
-it in the archive. The index lists each symbol defined by a member of
-an archive that is a relocatable object file.
-
- You may use `nm -s' or `nm --print-armap' to list this index.
-
- An archive with such an index speeds up linking to the library and
-allows routines in the library to call each other without regard to
-their placement in the archive.
-
- The GNU `ranlib' program is another form of GNU `ar'; running
-`ranlib' is completely equivalent to executing `ar -s'. *Note ar::.
-
-`-v'
-`-V'
-`--version'
- Show the version number of `ranlib'.
-
Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
+\1f
+File: binutils.info, Node: objdump, Next: ranlib, Prev: objcopy, Up: Top
+
+objdump
+*******
+
+ objdump [ -a | --archive-headers ]
+ [ -b BFDNAME | --target=BFDNAME ]
+ [ -C | --demangle[=STYLE] ]
+ [ -d | --disassemble ]
+ [ -D | --disassemble-all ]
+ [ -z | --disassemble-zeroes ]
+ [ -EB | -EL | --endian={big | little } ]
+ [ -f | --file-headers ]
+ [ --file-start-context ]
+ [ -g | --debugging ]
+ [ -h | --section-headers | --headers ]
+ [ -i | --info ]
+ [ -j SECTION | --section=SECTION ]
+ [ -l | --line-numbers ]
+ [ -S | --source ]
+ [ -m MACHINE | --architecture=MACHINE ]
+ [ -M OPTIONS | --disassembler-options=OPTIONS]
+ [ -p | --private-headers ]
+ [ -r | --reloc ]
+ [ -R | --dynamic-reloc ]
+ [ -s | --full-contents ]
+ [ -G | --stabs ]
+ [ -t | --syms ]
+ [ -T | --dynamic-syms ]
+ [ -x | --all-headers ]
+ [ -w | --wide ]
+ [ --start-address=ADDRESS ]
+ [ --stop-address=ADDRESS ]
+ [ --prefix-addresses]
+ [ --[no-]show-raw-insn ]
+ [ --adjust-vma=OFFSET ]
+ [ -V | --version ]
+ [ -H | --help ]
+ OBJFILE...
+
+ `objdump' displays information about one or more object files. The
+options control what particular information to display. This
+information is mostly useful to programmers who are working on the
+compilation tools, as opposed to programmers who just want their
+program to compile and work.
+
+ OBJFILE... are the object files to be examined. When you specify
+archives, `objdump' shows information on each of the member object
+files.
+
+ The long and short forms of options, shown here as alternatives, are
+equivalent. At least one option from the list
+`-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x' must be given.
+
+`-a'
+`--archive-header'
+ If any of the OBJFILE files are archives, display the archive
+ header information (in a format similar to `ls -l'). Besides the
+ information you could list with `ar tv', `objdump -a' shows the
+ object file format of each archive member.
+
+`--adjust-vma=OFFSET'
+ When dumping information, first add OFFSET to all the section
+ addresses. This is useful if the section addresses do not
+ correspond to the symbol table, which can happen when putting
+ sections at particular addresses when using a format which can not
+ represent section addresses, such as a.out.
+
+`-b BFDNAME'
+`--target=BFDNAME'
+ Specify that the object-code format for the object files is
+ BFDNAME. This option may not be necessary; OBJDUMP can
+ automatically recognize many formats.
+
+ For example,
+ objdump -b oasys -m vax -h fu.o
+
+ displays summary information from the section headers (`-h') of
+ `fu.o', which is explicitly identified (`-m') as a VAX object file
+ in the format produced by Oasys compilers. You can list the
+ formats available with the `-i' option. *Note Target Selection::,
+ for more information.
+
+`-C'
+`--demangle[=STYLE]'
+ Decode ("demangle") low-level symbol names into user-level names.
+ Besides removing any initial underscore prepended by the system,
+ this makes C++ function names readable. Different compilers have
+ different mangling styles. The optional demangling style argument
+ can be used to choose an appropriate demangling style for your
+ compiler. *Note c++filt::, for more information on demangling.
+
+`-G'
+
+`--debugging'
+ Display debugging information. This attempts to parse debugging
+ information stored in the file and print it out using a C like
+ syntax. Only certain types of debugging information have been
+ implemented.
+
+`-d'
+`--disassemble'
+ Display the assembler mnemonics for the machine instructions from
+ OBJFILE. This option only disassembles those sections which are
+ expected to contain instructions.
+
+`-D'
+`--disassemble-all'
+ Like `-d', but disassemble the contents of all sections, not just
+ those expected to contain instructions.
+
+`--prefix-addresses'
+ When disassembling, print the complete address on each line. This
+ is the older disassembly format.
+
+`--disassemble-zeroes'
+ Normally the disassembly output will skip blocks of zeroes. This
+ option directs the disassembler to disassemble those blocks, just
+ like any other data.
+
+`-EB'
+`-EL'
+`--endian={big|little}'
+ Specify the endianness of the object files. This only affects
+ disassembly. This can be useful when disassembling a file format
+ which does not describe endianness information, such as S-records.
+
+`-f'
+`--file-header'
+ Display summary information from the overall header of each of the
+ OBJFILE files.
+
+`--file-start-context'
+ Specify that when displaying interlisted source code/disassembly
+ (assumes '-S') from a file that has not yet been displayed, extend
+ the context to the start of the file.
+
+`-h'
+`--section-header'
+`--header'
+ Display summary information from the section headers of the object
+ file.
+
+ File segments may be relocated to nonstandard addresses, for
+ example by using the `-Ttext', `-Tdata', or `-Tbss' options to
+ `ld'. However, some object file formats, such as a.out, do not
+ store the starting address of the file segments. In those
+ situations, although `ld' relocates the sections correctly, using
+ `objdump -h' to list the file section headers cannot show the
+ correct addresses. Instead, it shows the usual addresses, which
+ are implicit for the target.
+
+`--help'
+ Print a summary of the options to `objdump' and exit.
+
+`-i'
+`--info'
+ Display a list showing all architectures and object formats
+ available for specification with `-b' or `-m'.
+
+`-j NAME'
+`--section=NAME'
+ Display information only for section NAME.
+
+`-l'
+`--line-numbers'
+ Label the display (using debugging information) with the filename
+ and source line numbers corresponding to the object code or relocs
+ shown. Only useful with `-d', `-D', or `-r'.
+
+`-m MACHINE'
+`--architecture=MACHINE'
+ Specify the architecture to use when disassembling object files.
+ This can be useful when disassembling object files which do not
+ describe architecture information, such as S-records. You can
+ list the available architectures with the `-i' option.
+
+`-M OPTIONS'
+`--disassembler-options=OPTIONS'
+ Pass target specific information to the disassembler. Only
+ supported on some targets.
+
+ If the target is an ARM architecture then this switch can be used
+ to select which register name set is used during disassembler.
+ Specifying `-M reg-name-std' (the default) will select the
+ register names as used in ARM's instruction set documentation, but
+ with register 13 called 'sp', register 14 called 'lr' and register
+ 15 called 'pc'. Specifying `-M reg-names-apcs' will select the
+ name set used by the ARM Procedure Call Standard, whilst
+ specifying `-M reg-names-raw' will just use `r' followed by the
+ register number.
+
+ There are also two variants on the APCS register naming scheme
+ enabled by `-M reg-names-atpcs' and `-M reg-names-special-atpcs'
+ which use the ARM/Thumb Procedure Call Standard naming
+ conventions. (Eiuther with the normal register name sor the
+ special register names).
+
+ This option can also be used for ARM architectures to force the
+ disassembler to interpret all instructions as THUMB instructions by
+ using the switch `--disassembler-options=force-thumb'. This can be
+ useful when attempting to disassemble thumb code produced by other
+ compilers.
+
+`-p'
+`--private-headers'
+ Print information that is specific to the object file format. The
+ exact information printed depends upon the object file format.
+ For some object file formats, no additional information is printed.
+
+`-r'
+`--reloc'
+ Print the relocation entries of the file. If used with `-d' or
+ `-D', the relocations are printed interspersed with the
+ disassembly.
+
+`-R'
+`--dynamic-reloc'
+ Print the dynamic relocation entries of the file. This is only
+ meaningful for dynamic objects, such as certain types of shared
+ libraries.
+
+`-s'
+`--full-contents'
+ Display the full contents of any sections requested.
+
+`-S'
+`--source'
+ Display source code intermixed with disassembly, if possible.
+ Implies `-d'.
+
+`--show-raw-insn'
+ When disassembling instructions, print the instruction in hex as
+ well as in symbolic form. This is the default except when
+ `--prefix-addresses' is used.
+
+`--no-show-raw-insn'
+ When disassembling instructions, do not print the instruction
+ bytes. This is the default when `--prefix-addresses' is used.
+
+`-G'
+
+`--stabs'
+ Display the full contents of any sections requested. Display the
+ contents of the .stab and .stab.index and .stab.excl sections from
+ an ELF file. This is only useful on systems (such as Solaris 2.0)
+ in which `.stab' debugging symbol-table entries are carried in an
+ ELF section. In most other file formats, debugging symbol-table
+ entries are interleaved with linkage symbols, and are visible in
+ the `--syms' output. For more information on stabs symbols, see
+ *Note Stabs: (stabs.info)Top.
+
+`--start-address=ADDRESS'
+ Start displaying data at the specified address. This affects the
+ output of the `-d', `-r' and `-s' options.
+
+`--stop-address=ADDRESS'
+ Stop displaying data at the specified address. This affects the
+ output of the `-d', `-r' and `-s' options.
+
+`-t'
+`--syms'
+ Print the symbol table entries of the file. This is similar to
+ the information provided by the `nm' program.
+
+`-T'
+`--dynamic-syms'
+ Print the dynamic symbol table entries of the file. This is only
+ meaningful for dynamic objects, such as certain types of shared
+ libraries. This is similar to the information provided by the `nm'
+ program when given the `-D' (`--dynamic') option.
+
+`--version'
+ Print the version number of `objdump' and exit.
+
+`-x'
+`--all-header'
+ Display all available header information, including the symbol
+ table and relocation entries. Using `-x' is equivalent to
+ specifying all of `-a -f -h -r -t'.
+
+`-w'
+`--wide'
+ Format some lines for output devices that have more than 80
+ columns.
+
+\1f
+File: binutils.info, Node: ranlib, Next: readelf, Prev: objdump, Up: Top
+
+ranlib
+******
+
+ ranlib [-vV] ARCHIVE
+
+ `ranlib' generates an index to the contents of an archive and stores
+it in the archive. The index lists each symbol defined by a member of
+an archive that is a relocatable object file.
+
+ You may use `nm -s' or `nm --print-armap' to list this index.
+
+ An archive with such an index speeds up linking to the library and
+allows routines in the library to call each other without regard to
+their placement in the archive.
+
+ The GNU `ranlib' program is another form of GNU `ar'; running
+`ranlib' is completely equivalent to executing `ar -s'. *Note ar::.
+
+`-v'
+`-V'
+`--version'
+ Show the version number of `ranlib'.
+
\1f
File: binutils.info, Node: size, Next: strings, Prev: readelf, Up: Top
2. the default architecture from the linker output target (*note
Target Selection::)
-\1f
-File: binutils.info, Node: Linker Emulation Selection, Prev: Architecture Selection, Up: Selecting The Target System
-
-Linker emulation selection
-==========================
-
- A linker "emulation" is a "personality" of the linker, which gives
-the linker default values for the other aspects of the target system.
-In particular, it consists of
-
- * the linker script
-
- * the target
-
- * several "hook" functions that are run at certain stages of the
- linking process to do special things that some targets require
-
- The command to list valid linker emulation values is `ld -V'.
-
- Sample values: `hp300bsd', `mipslit', `sun4'.
-
- Ways to specify:
-
- 1. command line option: `-m' (*note Options: (ld.info)Options.)
-
- 2. environment variable `LDEMULATION'
-
- 3. compiled-in `DEFAULT_EMULATION' from `Makefile', which comes from
- `EMUL' in `config/TARGET.mt'
-
-\1f
-File: binutils.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Selecting The Target System, Up: Top
-
-Reporting Bugs
-**************
-
- Your bug reports play an essential role in making the binary
-utilities reliable.
-
- Reporting a bug may help you by bringing a solution to your problem,
-or it may not. But in any case the principal function of a bug report
-is to help the entire community by making the next version of the binary
-utilities work better. Bug reports are your contribution to their
-maintenance.
-
- In order for a bug report to serve its purpose, you must include the
-information that enables us to fix the bug.
-
-* Menu:
-
-* Bug Criteria:: Have you found a bug?
-* Bug Reporting:: How to report bugs
-
-\1f
-File: binutils.info, Node: Bug Criteria, Next: Bug Reporting, Up: Reporting Bugs
-
-Have you found a bug?
-=====================
-
- If you are not sure whether you have found a bug, here are some
-guidelines:
-
- * If a binary utility gets a fatal signal, for any input whatever,
- that is a bug. Reliable utilities never crash.
-
- * If a binary utility produces an error message for valid input,
- that is a bug.
-
- * If you are an experienced user of binary utilities, your
- suggestions for improvement are welcome in any case.
-
-\1f
-File: binutils.info, Node: Bug Reporting, Prev: Bug Criteria, Up: Reporting Bugs
-
-How to report bugs
-==================
-
- A number of companies and individuals offer support for GNU
-products. If you obtained the binary utilities from a support
-organization, we recommend you contact that organization first.
-
- You can find contact information for many support companies and
-individuals in the file `etc/SERVICE' in the GNU Emacs distribution.
-
- In any event, we also recommend that you send bug reports for the
-binary utilities to `bug-binutils@gnu.org'.
-
- The fundamental principle of reporting bugs usefully is this:
-*report all the facts*. If you are not sure whether to state a fact or
-leave it out, state it!
-
- Often people omit facts because they think they know what causes the
-problem and assume that some details do not matter. Thus, you might
-assume that the name of a file you use in an example does not matter.
-Well, probably it does not, but one cannot be sure. Perhaps the bug is
-a stray memory reference which happens to fetch from the location where
-that pathname is stored in memory; perhaps, if the pathname were
-different, the contents of that location would fool the utility into
-doing the right thing despite the bug. Play it safe and give a
-specific, complete example. That is the easiest thing for you to do,
-and the most helpful.
-
- Keep in mind that the purpose of a bug report is to enable us to fix
-the bug if it is new to us. Therefore, always write your bug reports
-on the assumption that the bug has not been reported previously.
-
- Sometimes people give a few sketchy facts and ask, "Does this ring a
-bell?" Those bug reports are useless, and we urge everyone to _refuse
-to respond to them_ except to chide the sender to report bugs properly.
-
- To enable us to fix the bug, you should include all these things:
-
- * The version of the utility. Each utility announces it if you
- start it with the `--version' argument.
-
- Without this, we will not know whether there is any point in
- looking for the bug in the current version of the binary utilities.
-
- * Any patches you may have applied to the source, including any
- patches made to the `BFD' library.
-
- * The type of machine you are using, and the operating system name
- and version number.
-
- * What compiler (and its version) was used to compile the
- utilities--e.g. "`gcc-2.7'".
-
- * The command arguments you gave the utility to observe the bug. To
- guarantee you will not omit something important, list them all. A
- copy of the Makefile (or the output from make) is sufficient.
-
- If we were to try to guess the arguments, we would probably guess
- wrong and then we might not encounter the bug.
-
- * A complete input file, or set of input files, that will reproduce
- the bug. If the utility is reading an object file or files, then
- it is generally most helpful to send the actual object files,
- uuencoded if necessary to get them through the mail system. Note
- that `bug-binutils@gnu.org' is a mailing list, so you should avoid
- sending very large files to it. Making the files available for
- anonymous FTP is OK.
-
- If the source files were produced exclusively using GNU programs
- (e.g., `gcc', `gas', and/or the GNU `ld'), then it may be OK to
- send the source files rather than the object files. In this case,
- be sure to say exactly what version of `gcc', or whatever, was
- used to produce the object files. Also say how `gcc', or
- whatever, was configured.
-
- * A description of what behavior you observe that you believe is
- incorrect. For example, "It gets a fatal signal."
-
- Of course, if the bug is that the utility gets a fatal signal,
- then we will certainly notice it. But if the bug is incorrect
- output, we might not notice unless it is glaringly wrong. You
- might as well not give us a chance to make a mistake.
-
- Even if the problem you experience is a fatal signal, you should
- still say so explicitly. Suppose something strange is going on,
- such as your copy of the utility is out of synch, or you have
- encountered a bug in the C library on your system. (This has
- happened!) Your copy might crash and ours would not. If you told
- us to expect a crash, then when ours fails to crash, we would know
- that the bug was not happening for us. If you had not told us to
- expect a crash, then we would not be able to draw any conclusion
- from our observations.
-
- * If you wish to suggest changes to the source, send us context
- diffs, as generated by `diff' with the `-u', `-c', or `-p' option.
- Always send diffs from the old file to the new file. If you wish
- to discuss something in the `ld' source, refer to it by context,
- not by line number.
-
- The line numbers in our development sources will not match those
- in your sources. Your line numbers would convey no useful
- information to us.
-
- Here are some things that are not necessary:
-
- * A description of the envelope of the bug.
-
- Often people who encounter a bug spend a lot of time investigating
- which changes to the input file will make the bug go away and which
- changes will not affect it.
-
- This is often time consuming and not very useful, because the way
- we will find the bug is by running a single example under the
- debugger with breakpoints, not by pure deduction from a series of
- examples. We recommend that you save your time for something else.
-
- Of course, if you can find a simpler example to report _instead_
- of the original one, that is a convenience for us. Errors in the
- output will be easier to spot, running under the debugger will take
- less time, and so on.
-
- However, simplification is not vital; if you do not want to do
- this, report the bug anyway and send us the entire test case you
- used.
-
- * A patch for the bug.
-
- A patch for the bug does help us if it is a good one. But do not
- omit the necessary information, such as the test case, on the
- assumption that a patch is all we need. We might see problems
- with your patch and decide to fix the problem another way, or we
- might not understand it at all.
-
- Sometimes with programs as complicated as the binary utilities it
- is very hard to construct an example that will make the program
- follow a certain path through the code. If you do not send us the
- example, we will not be able to construct one, so we will not be
- able to verify that the bug is fixed.
-
- And if we cannot understand what bug you are trying to fix, or why
- your patch should be an improvement, we will not install it. A
- test case will help us to understand.
-
- * A guess about what the bug is or what it depends on.
-
- Such guesses are usually wrong. Even we cannot guess right about
- such things without first using the debugger to find the facts.
-
Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
+\1f
+File: binutils.info, Node: Linker Emulation Selection, Prev: Architecture Selection, Up: Selecting The Target System
+
+Linker emulation selection
+==========================
+
+ A linker "emulation" is a "personality" of the linker, which gives
+the linker default values for the other aspects of the target system.
+In particular, it consists of
+
+ * the linker script
+
+ * the target
+
+ * several "hook" functions that are run at certain stages of the
+ linking process to do special things that some targets require
+
+ The command to list valid linker emulation values is `ld -V'.
+
+ Sample values: `hp300bsd', `mipslit', `sun4'.
+
+ Ways to specify:
+
+ 1. command line option: `-m' (*note Options: (ld.info)Options.)
+
+ 2. environment variable `LDEMULATION'
+
+ 3. compiled-in `DEFAULT_EMULATION' from `Makefile', which comes from
+ `EMUL' in `config/TARGET.mt'
+
+\1f
+File: binutils.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Selecting The Target System, Up: Top
+
+Reporting Bugs
+**************
+
+ Your bug reports play an essential role in making the binary
+utilities reliable.
+
+ Reporting a bug may help you by bringing a solution to your problem,
+or it may not. But in any case the principal function of a bug report
+is to help the entire community by making the next version of the binary
+utilities work better. Bug reports are your contribution to their
+maintenance.
+
+ In order for a bug report to serve its purpose, you must include the
+information that enables us to fix the bug.
+
+* Menu:
+
+* Bug Criteria:: Have you found a bug?
+* Bug Reporting:: How to report bugs
+
+\1f
+File: binutils.info, Node: Bug Criteria, Next: Bug Reporting, Up: Reporting Bugs
+
+Have you found a bug?
+=====================
+
+ If you are not sure whether you have found a bug, here are some
+guidelines:
+
+ * If a binary utility gets a fatal signal, for any input whatever,
+ that is a bug. Reliable utilities never crash.
+
+ * If a binary utility produces an error message for valid input,
+ that is a bug.
+
+ * If you are an experienced user of binary utilities, your
+ suggestions for improvement are welcome in any case.
+
+\1f
+File: binutils.info, Node: Bug Reporting, Prev: Bug Criteria, Up: Reporting Bugs
+
+How to report bugs
+==================
+
+ A number of companies and individuals offer support for GNU
+products. If you obtained the binary utilities from a support
+organization, we recommend you contact that organization first.
+
+ You can find contact information for many support companies and
+individuals in the file `etc/SERVICE' in the GNU Emacs distribution.
+
+ In any event, we also recommend that you send bug reports for the
+binary utilities to `bug-binutils@gnu.org'.
+
+ The fundamental principle of reporting bugs usefully is this:
+*report all the facts*. If you are not sure whether to state a fact or
+leave it out, state it!
+
+ Often people omit facts because they think they know what causes the
+problem and assume that some details do not matter. Thus, you might
+assume that the name of a file you use in an example does not matter.
+Well, probably it does not, but one cannot be sure. Perhaps the bug is
+a stray memory reference which happens to fetch from the location where
+that pathname is stored in memory; perhaps, if the pathname were
+different, the contents of that location would fool the utility into
+doing the right thing despite the bug. Play it safe and give a
+specific, complete example. That is the easiest thing for you to do,
+and the most helpful.
+
+ Keep in mind that the purpose of a bug report is to enable us to fix
+the bug if it is new to us. Therefore, always write your bug reports
+on the assumption that the bug has not been reported previously.
+
+ Sometimes people give a few sketchy facts and ask, "Does this ring a
+bell?" Those bug reports are useless, and we urge everyone to _refuse
+to respond to them_ except to chide the sender to report bugs properly.
+
+ To enable us to fix the bug, you should include all these things:
+
+ * The version of the utility. Each utility announces it if you
+ start it with the `--version' argument.
+
+ Without this, we will not know whether there is any point in
+ looking for the bug in the current version of the binary utilities.
+
+ * Any patches you may have applied to the source, including any
+ patches made to the `BFD' library.
+
+ * The type of machine you are using, and the operating system name
+ and version number.
+
+ * What compiler (and its version) was used to compile the
+ utilities--e.g. "`gcc-2.7'".
+
+ * The command arguments you gave the utility to observe the bug. To
+ guarantee you will not omit something important, list them all. A
+ copy of the Makefile (or the output from make) is sufficient.
+
+ If we were to try to guess the arguments, we would probably guess
+ wrong and then we might not encounter the bug.
+
+ * A complete input file, or set of input files, that will reproduce
+ the bug. If the utility is reading an object file or files, then
+ it is generally most helpful to send the actual object files,
+ uuencoded if necessary to get them through the mail system. Note
+ that `bug-binutils@gnu.org' is a mailing list, so you should avoid
+ sending very large files to it. Making the files available for
+ anonymous FTP is OK.
+
+ If the source files were produced exclusively using GNU programs
+ (e.g., `gcc', `gas', and/or the GNU `ld'), then it may be OK to
+ send the source files rather than the object files. In this case,
+ be sure to say exactly what version of `gcc', or whatever, was
+ used to produce the object files. Also say how `gcc', or
+ whatever, was configured.
+
+ * A description of what behavior you observe that you believe is
+ incorrect. For example, "It gets a fatal signal."
+
+ Of course, if the bug is that the utility gets a fatal signal,
+ then we will certainly notice it. But if the bug is incorrect
+ output, we might not notice unless it is glaringly wrong. You
+ might as well not give us a chance to make a mistake.
+
+ Even if the problem you experience is a fatal signal, you should
+ still say so explicitly. Suppose something strange is going on,
+ such as your copy of the utility is out of synch, or you have
+ encountered a bug in the C library on your system. (This has
+ happened!) Your copy might crash and ours would not. If you told
+ us to expect a crash, then when ours fails to crash, we would know
+ that the bug was not happening for us. If you had not told us to
+ expect a crash, then we would not be able to draw any conclusion
+ from our observations.
+
+ * If you wish to suggest changes to the source, send us context
+ diffs, as generated by `diff' with the `-u', `-c', or `-p' option.
+ Always send diffs from the old file to the new file. If you wish
+ to discuss something in the `ld' source, refer to it by context,
+ not by line number.
+
+ The line numbers in our development sources will not match those
+ in your sources. Your line numbers would convey no useful
+ information to us.
+
+ Here are some things that are not necessary:
+
+ * A description of the envelope of the bug.
+
+ Often people who encounter a bug spend a lot of time investigating
+ which changes to the input file will make the bug go away and which
+ changes will not affect it.
+
+ This is often time consuming and not very useful, because the way
+ we will find the bug is by running a single example under the
+ debugger with breakpoints, not by pure deduction from a series of
+ examples. We recommend that you save your time for something else.
+
+ Of course, if you can find a simpler example to report _instead_
+ of the original one, that is a convenience for us. Errors in the
+ output will be easier to spot, running under the debugger will take
+ less time, and so on.
+
+ However, simplification is not vital; if you do not want to do
+ this, report the bug anyway and send us the entire test case you
+ used.
+
+ * A patch for the bug.
+
+ A patch for the bug does help us if it is a good one. But do not
+ omit the necessary information, such as the test case, on the
+ assumption that a patch is all we need. We might see problems
+ with your patch and decide to fix the problem another way, or we
+ might not understand it at all.
+
+ Sometimes with programs as complicated as the binary utilities it
+ is very hard to construct an example that will make the program
+ follow a certain path through the code. If you do not send us the
+ example, we will not be able to construct one, so we will not be
+ able to verify that the bug is fixed.
+
+ And if we cannot understand what bug you are trying to fix, or why
+ your patch should be an improvement, we will not install it. A
+ test case will help us to understand.
+
+ * A guess about what the bug is or what it depends on.
+
+ Such guesses are usually wrong. Even we cannot guess right about
+ such things without first using the debugger to find the facts.
+
\1f
File: binutils.info, Node: GNU Free Documentation License, Next: Index, Prev: Reporting Bugs, Up: Top
-@set VERSION 2.11
+@set VERSION 2.11.1
#define INITIAL 0
#line 2 "deflex.l"
-/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of GNU Binutils.
#line 1 "defparse.y"
/* defparse.y - parser for .def files */
-/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of GNU Binutils.
-1, -1, 47
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
#line 1 "nlmheader.y"
/* nlmheader.y - parse NLM header specification keywords.
- Copyright (C) 1993, 94, 95, 97, 1998 Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc.
This file is part of GNU Binutils.
-1, 48, -1, -1, 68
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
#line 1 "rclex.l"
#define INITIAL 0
#line 2 "rclex.l"
-/* Copyright 1997, 1998 Free Software Foundation, Inc.
+/* Copyright 1997, 1998, 1999 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GNU Binutils.
#line 1 "rcparse.y"
/* rcparse.y -- parser for Windows rc files
- Copyright 1997, 1998 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GNU Binutils.
54, 55, 56, 88, 89, 90, 91, 92
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
#define NUMBER 261
#define UNIT 262
-#line 1 "sysinfo.y"
+#line 20 "sysinfo.y"
#include <stdio.h>
#include <stdlib.h>
char *names[] = {" ","[n]","[n][m]"};
char *pnames[]= {"","*","**"};
-#line 24 "sysinfo.y"
+#line 43 "sysinfo.y"
typedef union {
int i;
char *s;
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 38, 59, 75, 76, 79, 130, 150, 152, 153, 154,
- 157, 186, 204, 217, 230, 233, 338, 340, 343, 348,
- 354, 356, 359, 360, 362, 363
+ 57, 78, 94, 95, 98, 149, 169, 171, 172, 173,
+ 176, 205, 223, 236, 249, 252, 357, 359, 362, 367,
+ 373, 375, 378, 379, 381, 382
};
#endif
0, 0, 8, 8, 6, -1, 4
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
switch (yyn) {
case 1:
-#line 38 "sysinfo.y"
+#line 57 "sysinfo.y"
{
switch (writecode)
{
;
break;}
case 2:
-#line 59 "sysinfo.y"
+#line 78 "sysinfo.y"
{
switch (writecode) {
case 'i':
;
break;}
case 5:
-#line 81 "sysinfo.y"
+#line 100 "sysinfo.y"
{
it = yyvsp[-1].s; code = yyvsp[0].i;
switch (writecode)
;
break;}
case 6:
-#line 131 "sysinfo.y"
+#line 150 "sysinfo.y"
{
switch (writecode) {
case 'd':
;
break;}
case 11:
-#line 158 "sysinfo.y"
+#line 177 "sysinfo.y"
{
rdepth++;
switch (writecode)
;
break;}
case 12:
-#line 188 "sysinfo.y"
+#line 207 "sysinfo.y"
{
repeat = oldrepeat;
oldrepeat =0;
;
break;}
case 13:
-#line 205 "sysinfo.y"
+#line 224 "sysinfo.y"
{
switch (writecode)
{
;
break;}
case 14:
-#line 218 "sysinfo.y"
+#line 237 "sysinfo.y"
{
switch (writecode)
{
;
break;}
case 15:
-#line 232 "sysinfo.y"
+#line 251 "sysinfo.y"
{name = yyvsp[0].s; ;
break;}
case 16:
-#line 234 "sysinfo.y"
+#line 253 "sysinfo.y"
{
char *desc = yyvsp[-8].s;
char *type = yyvsp[-6].s;
;
break;}
case 17:
-#line 339 "sysinfo.y"
+#line 358 "sysinfo.y"
{ yyval.s = yyvsp[0].s; ;
break;}
case 18:
-#line 340 "sysinfo.y"
+#line 359 "sysinfo.y"
{ yyval.s = "INT";;
break;}
case 19:
-#line 345 "sysinfo.y"
+#line 364 "sysinfo.y"
{ yyval.s = yyvsp[-1].s; ;
break;}
case 20:
-#line 350 "sysinfo.y"
+#line 369 "sysinfo.y"
{ yyval.i = yyvsp[-1].i * yyvsp[0].i; ;
break;}
case 21:
-#line 355 "sysinfo.y"
+#line 374 "sysinfo.y"
{ yyval.s = yyvsp[-1].s; ;
break;}
case 22:
-#line 356 "sysinfo.y"
+#line 375 "sysinfo.y"
{ yyval.s = "dummy";;
break;}
case 26:
-#line 364 "sysinfo.y"
+#line 383 "sysinfo.y"
{
switch (writecode)
{
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
}
return 1;
}
-#line 379 "sysinfo.y"
+#line 398 "sysinfo.y"
/* four modes
#line 1 "syslex.l"
#define INITIAL 0
#line 2 "syslex.l"
+/* Copyright 2001 Free Software Foundation, Inc.
+
+This file is part of GLD, the Gnu Linker.
+
+GLD is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GLD is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GLD; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
#include "sysinfo.h"
char *word;
int number;
#ifndef yywrap
static int yywrap () { return 1; }
#endif
-#line 426 "lex.yy.c"
+#line 445 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 11 "syslex.l"
+#line 30 "syslex.l"
-#line 579 "lex.yy.c"
+#line 598 "lex.yy.c"
if ( yy_init )
{
case 1:
YY_RULE_SETUP
-#line 12 "syslex.l"
+#line 31 "syslex.l"
{ return '(';}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 13 "syslex.l"
+#line 32 "syslex.l"
{ return ')';}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 14 "syslex.l"
+#line 33 "syslex.l"
{ return '[';}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 15 "syslex.l"
+#line 34 "syslex.l"
{ return ']';}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 16 "syslex.l"
+#line 35 "syslex.l"
{ ; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 17 "syslex.l"
+#line 36 "syslex.l"
{ ; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 18 "syslex.l"
+#line 37 "syslex.l"
{ ; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 19 "syslex.l"
+#line 38 "syslex.l"
{ ; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 20 "syslex.l"
+#line 39 "syslex.l"
{
yylval.s = malloc(strlen (yytext));
strcpy(yylval.s, yytext+1);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 27 "syslex.l"
+#line 46 "syslex.l"
{
yylval.i = strtol(yytext,0,16);
return NUMBER;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 32 "syslex.l"
+#line 51 "syslex.l"
{
yylval.i = atoi(yytext);
return NUMBER;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 38 "syslex.l"
+#line 57 "syslex.l"
{ yylval.i =1 ;return UNIT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 39 "syslex.l"
+#line 58 "syslex.l"
{ yylval.i = 1; return UNIT;}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 40 "syslex.l"
+#line 59 "syslex.l"
{ yylval.i= 8; return UNIT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 41 "syslex.l"
+#line 60 "syslex.l"
{ yylval.i = 8; return UNIT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 43 "syslex.l"
+#line 62 "syslex.l"
{ yylval.s = "INT"; return TYPE;}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 44 "syslex.l"
+#line 63 "syslex.l"
{ yylval.s = "BARRAY"; return TYPE;}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 45 "syslex.l"
+#line 64 "syslex.l"
{ yylval.s = "CHARS"; return TYPE;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 46 "syslex.l"
+#line 65 "syslex.l"
{ yylval.i = 0; return NUMBER;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 47 "syslex.l"
+#line 66 "syslex.l"
{ yylval.i = -4; return NUMBER;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 48 "syslex.l"
+#line 67 "syslex.l"
{ yylval.i = -2; return NUMBER; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 49 "syslex.l"
+#line 68 "syslex.l"
{ yylval.i = -1; return NUMBER; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 50 "syslex.l"
+#line 69 "syslex.l"
{ return COND;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 51 "syslex.l"
+#line 70 "syslex.l"
{ return REPEAT;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 52 "syslex.l"
+#line 71 "syslex.l"
ECHO;
YY_BREAK
-#line 798 "lex.yy.c"
+#line 817 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
return 0;
}
#endif
-#line 52 "syslex.l"
+#line 71 "syslex.l"
\1f
Indirect:
as.info-1: 706
-as.info-2: 50092
-as.info-3: 100040
-as.info-4: 149757
-as.info-5: 199248
-as.info-6: 249039
-as.info-7: 296011
-as.info-8: 342282
-as.info-9: 372091
+as.info-2: 50094
+as.info-3: 100042
+as.info-4: 149759
+as.info-5: 199250
+as.info-6: 247859
+as.info-7: 296851
+as.info-8: 343122
+as.info-9: 372931
\1f
Tag Table:
(Indirect)
Node: Top\7f706
-Node: Overview\7f1626
-Node: Manual\7f16194
-Node: GNU Assembler\7f17133
-Node: Object Formats\7f18299
-Node: Command Line\7f18746
-Node: Input Files\7f19828
-Node: Object\7f21807
-Node: Errors\7f22754
-Node: Invoking\7f23944
-Node: a\7f25790
-Node: D\7f27124
-Node: f\7f27344
-Node: I\7f27847
-Node: K\7f28386
-Node: L\7f28685
-Node: M\7f29511
-Node: MD\7f33901
-Node: o\7f34320
-Node: R\7f34768
-Node: statistics\7f35784
-Node: traditional-format\7f36184
-Node: v\7f36650
-Node: W\7f36918
-Node: Z\7f37818
-Node: Syntax\7f38333
-Node: Preprocessing\7f38923
-Node: Whitespace\7f40483
-Node: Comments\7f40873
-Node: Symbol Intro\7f42951
-Node: Statements\7f43634
-Node: Constants\7f45548
-Node: Characters\7f46174
-Node: Strings\7f46667
-Node: Chars\7f48820
-Node: Numbers\7f49561
-Node: Integers\7f50092
-Node: Bignums\7f50735
-Node: Flonums\7f51078
-Node: Sections\7f52811
-Node: Secs Background\7f53185
-Node: Ld Sections\7f58211
-Node: As Sections\7f60607
-Node: Sub-Sections\7f61512
-Node: bss\7f64511
-Node: Symbols\7f65456
-Node: Labels\7f66103
-Node: Setting Symbols\7f66829
-Node: Symbol Names\7f67194
-Node: Dot\7f70156
-Node: Symbol Attributes\7f70598
-Node: Symbol Value\7f71330
-Node: Symbol Type\7f72366
-Node: a.out Symbols\7f72745
-Node: Symbol Desc\7f72995
-Node: Symbol Other\7f73277
-Node: COFF Symbols\7f73433
-Node: SOM Symbols\7f74062
-Node: Expressions\7f74495
-Node: Empty Exprs\7f75243
-Node: Integer Exprs\7f75585
-Node: Arguments\7f75975
-Node: Operators\7f77072
-Node: Prefix Ops\7f77398
-Node: Infix Ops\7f77717
-Node: Pseudo Ops\7f79209
-Node: Abort\7f83964
-Node: ABORT\7f84365
-Node: Align\7f84627
-Node: Ascii\7f86816
-Node: Asciz\7f87117
-Node: Balign\7f87357
-Node: Byte\7f89215
-Node: Comm\7f89448
-Node: Data\7f90807
-Node: Def\7f91117
-Node: Desc\7f91485
-Node: Dim\7f91978
-Node: Double\7f92369
-Node: Eject\7f92700
-Node: Else\7f92868
-Node: Elseif\7f93158
-Node: End\7f93442
-Node: Endef\7f93650
-Node: Endfunc\7f93973
-Node: Endif\7f94141
-Node: Equ\7f94394
-Node: Equiv\7f94697
-Node: Err\7f95093
-Node: Exitm\7f95396
-Node: Extern\7f95556
-Node: Fail\7f95810
-Node: File\7f96248
-Node: Fill\7f96857
-Node: Float\7f97814
-Node: Func\7f98148
-Node: Global\7f98728
-Node: Hidden\7f99471
-Node: hword\7f100040
-Node: Ident\7f100361
-Node: If\7f100661
-Node: Include\7f103253
-Node: Int\7f103793
-Node: Internal\7f104167
-Node: Irp\7f104802
-Node: Irpc\7f105601
-Node: Lcomm\7f106420
-Node: Lflags\7f107161
-Node: Line\7f107348
-Node: Linkonce\7f108371
-Node: Ln\7f109591
-Node: MRI\7f109739
-Node: List\7f110066
-Node: Long\7f110669
-Node: Macro\7f110839
-Node: Nolist\7f113223
-Node: Octa\7f113639
-Node: Org\7f113965
-Node: P2align\7f115240
-Node: Previous\7f117161
-Node: PopSection\7f117848
-Node: Print\7f118349
-Node: Protected\7f118571
-Node: Psize\7f119208
-Node: Purgem\7f119885
-Node: PushSection\7f120099
-Node: Quad\7f120682
-Node: Rept\7f121128
-Node: Sbttl\7f121534
-Node: Scl\7f121892
-Node: Section\7f122388
-Node: Set\7f125409
-Node: Short\7f125961
-Node: Single\7f126274
-Node: Size\7f126611
-Node: Sleb128\7f127348
-Node: Skip\7f127663
-Node: Space\7f127978
-Node: Stab\7f128863
-Node: String\7f130858
-Node: Struct\7f131277
-Node: SubSection\7f131993
-Node: Symver\7f132547
-Node: Tag\7f134931
-Node: Text\7f135439
-Node: Title\7f135751
-Node: Type\7f136123
-Node: Uleb128\7f137230
-Node: Val\7f137545
-Node: Version\7f137906
-Node: VTableEntry\7f138172
-Node: VTableInherit\7f138453
-Node: Weak\7f138887
-Node: Word\7f139148
-Node: Deprecated\7f140982
-Node: Machine Dependencies\7f141207
-Node: ARC-Dependent\7f143292
-Node: ARC Options\7f143668
-Node: ARC Syntax\7f144720
-Node: ARC-Chars\7f144940
-Node: ARC-Regs\7f145059
-Node: ARC Floating Point\7f145170
-Node: ARC Directives\7f145472
-Node: ARC Opcodes\7f146754
-Node: AMD29K-Dependent\7f146954
-Node: AMD29K Options\7f147335
-Node: AMD29K Syntax\7f147509
-Node: AMD29K-Macros\7f147773
-Node: AMD29K-Chars\7f148024
-Node: AMD29K-Regs\7f148287
-Node: AMD29K Floating Point\7f149551
-Node: AMD29K Directives\7f149757
-Node: AMD29K Opcodes\7f151165
-Node: ARM-Dependent\7f151501
-Node: ARM Options\7f151875
-Node: ARM Syntax\7f154914
-Node: ARM-Chars\7f155134
-Node: ARM-Regs\7f155645
-Node: ARM Floating Point\7f155817
-Node: ARM Directives\7f156007
-Node: ARM Opcodes\7f158074
-Node: D10V-Dependent\7f160124
-Node: D10V-Opts\7f160466
-Node: D10V-Syntax\7f161420
-Node: D10V-Size\7f161940
-Node: D10V-Subs\7f162900
-Node: D10V-Chars\7f163922
-Node: D10V-Regs\7f165508
-Node: D10V-Addressing\7f166539
-Node: D10V-Word\7f167212
-Node: D10V-Float\7f167713
-Node: D10V-Opcodes\7f168015
-Node: D30V-Dependent\7f168399
-Node: D30V-Opts\7f168744
-Node: D30V-Syntax\7f169410
-Node: D30V-Size\7f169933
-Node: D30V-Subs\7f170891
-Node: D30V-Chars\7f171913
-Node: D30V-Guarded\7f174198
-Node: D30V-Regs\7f174866
-Node: D30V-Addressing\7f175992
-Node: D30V-Float\7f176647
-Node: D30V-Opcodes\7f176949
-Node: H8/300-Dependent\7f177333
-Node: H8/300 Options\7f177737
-Node: H8/300 Syntax\7f177918
-Node: H8/300-Chars\7f178205
-Node: H8/300-Regs\7f178489
-Node: H8/300-Addressing\7f179393
-Node: H8/300 Floating Point\7f180419
-Node: H8/300 Directives\7f180735
-Node: H8/300 Opcodes\7f181255
-Node: H8/500-Dependent\7f189608
-Node: H8/500 Options\7f190012
-Node: H8/500 Syntax\7f190193
-Node: H8/500-Chars\7f190480
-Node: H8/500-Regs\7f190771
-Node: H8/500-Addressing\7f191527
-Node: H8/500 Floating Point\7f192144
-Node: H8/500 Directives\7f192460
-Node: H8/500 Opcodes\7f192779
-Node: HPPA-Dependent\7f197892
-Node: HPPA Notes\7f198317
-Node: HPPA Options\7f199064
-Node: HPPA Syntax\7f199248
-Node: HPPA Floating Point\7f200507
-Node: HPPA Directives\7f200702
-Node: HPPA Opcodes\7f207293
-Node: ESA/390-Dependent\7f207541
-Node: ESA/390 Notes\7f207991
-Node: ESA/390 Options\7f208771
-Node: ESA/390 Syntax\7f208970
-Node: ESA/390 Floating Point\7f211131
-Node: ESA/390 Directives\7f211400
-Node: ESA/390 Opcodes\7f214677
-Node: i386-Dependent\7f214928
-Node: i386-Options\7f215986
-Node: i386-Syntax\7f216597
-Node: i386-Mnemonics\7f219000
-Node: i386-Regs\7f221454
-Node: i386-Prefixes\7f223488
-Node: i386-Memory\7f226236
-Node: i386-jumps\7f229162
-Node: i386-Float\7f230252
-Node: i386-SIMD\7f232070
-Node: i386-16bit\7f233168
-Node: i386-Bugs\7f235193
-Node: i386-Arch\7f235932
-Node: i386-Notes\7f236978
-Node: i860-Dependent\7f237823
-Node: Notes-i860\7f238209
-Node: Options-i860\7f238703
-Node: Directives-i860\7f239708
-Node: Opcodes for i860\7f240370
-Node: i960-Dependent\7f242489
-Node: Options-i960\7f242881
-Node: Floating Point-i960\7f246762
-Node: Directives-i960\7f247019
-Node: Opcodes for i960\7f249039
-Node: callj-i960\7f249645
-Node: Compare-and-branch-i960\7f250120
-Node: M32R-Dependent\7f252009
-Node: M32R-Opts\7f252272
-Node: M32R-Warnings\7f254024
-Node: M68K-Dependent\7f257012
-Node: M68K-Opts\7f257469
-Node: M68K-Syntax\7f263760
-Node: M68K-Moto-Syntax\7f265588
-Node: M68K-Float\7f268166
-Node: M68K-Directives\7f268675
-Node: M68K-opcodes\7f269270
-Node: M68K-Branch\7f269482
-Node: M68K-Chars\7f273668
-Node: M68HC11-Dependent\7f274066
-Node: M68HC11-Opts\7f274469
-Node: M68HC11-Syntax\7f277172
-Node: M68HC11-Float\7f277988
-Node: M68HC11-opcodes\7f278501
-Node: M68HC11-Branch\7f278669
-Node: MIPS-Dependent\7f281176
-Node: MIPS Opts\7f282078
-Node: MIPS Object\7f286997
-Node: MIPS Stabs\7f288552
-Node: MIPS ISA\7f289263
-Node: MIPS autoextend\7f290393
-Node: MIPS insn\7f291104
-Node: MIPS option stack\7f291590
-Node: PJ-Dependent\7f292303
-Node: PJ Options\7f292516
-Node: SH-Dependent\7f292783
-Node: SH Options\7f293163
-Node: SH Syntax\7f293328
-Node: SH-Chars\7f293587
-Node: SH-Regs\7f293866
-Node: SH-Addressing\7f294465
-Node: SH Floating Point\7f295359
-Node: SH Directives\7f295655
-Node: SH Opcodes\7f296011
-Node: Sparc-Dependent\7f300258
-Node: Sparc-Opts\7f300630
-Node: Sparc-Aligned-Data\7f302876
-Node: Sparc-Float\7f303720
-Node: Sparc-Directives\7f303910
-Node: Z8000-Dependent\7f305859
-Node: Z8000 Options\7f306818
-Node: Z8000 Syntax\7f306993
-Node: Z8000-Chars\7f307269
-Node: Z8000-Regs\7f307487
-Node: Z8000-Addressing\7f308277
-Node: Z8000 Directives\7f309220
-Node: Z8000 Opcodes\7f310818
-Node: Vax-Dependent\7f320754
-Node: VAX-Opts\7f321261
-Node: VAX-float\7f324985
-Node: VAX-directives\7f325606
-Node: VAX-opcodes\7f326455
-Node: VAX-branch\7f326833
-Node: VAX-operands\7f329329
-Node: VAX-no\7f330081
-Node: V850-Dependent\7f330307
-Node: V850 Options\7f330693
-Node: V850 Syntax\7f332506
-Node: V850-Chars\7f332732
-Node: V850-Regs\7f332882
-Node: V850 Floating Point\7f334419
-Node: V850 Directives\7f334614
-Node: V850 Opcodes\7f335514
-Node: Reporting Bugs\7f340799
-Node: Bug Criteria\7f341522
-Node: Bug Reporting\7f342282
-Node: Acknowledgements\7f348850
-Ref: Acknowledgements-Footnote-1\7f353641
-Node: GNU Free Documentation License\7f353667
-Node: Index\7f372091
+Node: Overview\7f1628
+Node: Manual\7f16196
+Node: GNU Assembler\7f17135
+Node: Object Formats\7f18301
+Node: Command Line\7f18748
+Node: Input Files\7f19830
+Node: Object\7f21809
+Node: Errors\7f22756
+Node: Invoking\7f23946
+Node: a\7f25792
+Node: D\7f27126
+Node: f\7f27346
+Node: I\7f27849
+Node: K\7f28388
+Node: L\7f28687
+Node: M\7f29513
+Node: MD\7f33903
+Node: o\7f34322
+Node: R\7f34770
+Node: statistics\7f35786
+Node: traditional-format\7f36186
+Node: v\7f36652
+Node: W\7f36920
+Node: Z\7f37820
+Node: Syntax\7f38335
+Node: Preprocessing\7f38925
+Node: Whitespace\7f40485
+Node: Comments\7f40875
+Node: Symbol Intro\7f42953
+Node: Statements\7f43636
+Node: Constants\7f45550
+Node: Characters\7f46176
+Node: Strings\7f46669
+Node: Chars\7f48822
+Node: Numbers\7f49563
+Node: Integers\7f50094
+Node: Bignums\7f50737
+Node: Flonums\7f51080
+Node: Sections\7f52813
+Node: Secs Background\7f53187
+Node: Ld Sections\7f58213
+Node: As Sections\7f60609
+Node: Sub-Sections\7f61514
+Node: bss\7f64513
+Node: Symbols\7f65458
+Node: Labels\7f66105
+Node: Setting Symbols\7f66831
+Node: Symbol Names\7f67196
+Node: Dot\7f70158
+Node: Symbol Attributes\7f70600
+Node: Symbol Value\7f71332
+Node: Symbol Type\7f72368
+Node: a.out Symbols\7f72747
+Node: Symbol Desc\7f72997
+Node: Symbol Other\7f73279
+Node: COFF Symbols\7f73435
+Node: SOM Symbols\7f74064
+Node: Expressions\7f74497
+Node: Empty Exprs\7f75245
+Node: Integer Exprs\7f75587
+Node: Arguments\7f75977
+Node: Operators\7f77074
+Node: Prefix Ops\7f77400
+Node: Infix Ops\7f77719
+Node: Pseudo Ops\7f79211
+Node: Abort\7f83966
+Node: ABORT\7f84367
+Node: Align\7f84629
+Node: Ascii\7f86818
+Node: Asciz\7f87119
+Node: Balign\7f87359
+Node: Byte\7f89217
+Node: Comm\7f89450
+Node: Data\7f90809
+Node: Def\7f91119
+Node: Desc\7f91487
+Node: Dim\7f91980
+Node: Double\7f92371
+Node: Eject\7f92702
+Node: Else\7f92870
+Node: Elseif\7f93160
+Node: End\7f93444
+Node: Endef\7f93652
+Node: Endfunc\7f93975
+Node: Endif\7f94143
+Node: Equ\7f94396
+Node: Equiv\7f94699
+Node: Err\7f95095
+Node: Exitm\7f95398
+Node: Extern\7f95558
+Node: Fail\7f95812
+Node: File\7f96250
+Node: Fill\7f96859
+Node: Float\7f97816
+Node: Func\7f98150
+Node: Global\7f98730
+Node: Hidden\7f99473
+Node: hword\7f100042
+Node: Ident\7f100363
+Node: If\7f100663
+Node: Include\7f103255
+Node: Int\7f103795
+Node: Internal\7f104169
+Node: Irp\7f104804
+Node: Irpc\7f105603
+Node: Lcomm\7f106422
+Node: Lflags\7f107163
+Node: Line\7f107350
+Node: Linkonce\7f108373
+Node: Ln\7f109593
+Node: MRI\7f109741
+Node: List\7f110068
+Node: Long\7f110671
+Node: Macro\7f110841
+Node: Nolist\7f113225
+Node: Octa\7f113641
+Node: Org\7f113967
+Node: P2align\7f115242
+Node: Previous\7f117163
+Node: PopSection\7f117850
+Node: Print\7f118351
+Node: Protected\7f118573
+Node: Psize\7f119210
+Node: Purgem\7f119887
+Node: PushSection\7f120101
+Node: Quad\7f120684
+Node: Rept\7f121130
+Node: Sbttl\7f121536
+Node: Scl\7f121894
+Node: Section\7f122390
+Node: Set\7f125411
+Node: Short\7f125963
+Node: Single\7f126276
+Node: Size\7f126613
+Node: Sleb128\7f127350
+Node: Skip\7f127665
+Node: Space\7f127980
+Node: Stab\7f128865
+Node: String\7f130860
+Node: Struct\7f131279
+Node: SubSection\7f131995
+Node: Symver\7f132549
+Node: Tag\7f134933
+Node: Text\7f135441
+Node: Title\7f135753
+Node: Type\7f136125
+Node: Uleb128\7f137232
+Node: Val\7f137547
+Node: Version\7f137908
+Node: VTableEntry\7f138174
+Node: VTableInherit\7f138455
+Node: Weak\7f138889
+Node: Word\7f139150
+Node: Deprecated\7f140984
+Node: Machine Dependencies\7f141209
+Node: ARC-Dependent\7f143294
+Node: ARC Options\7f143670
+Node: ARC Syntax\7f144722
+Node: ARC-Chars\7f144942
+Node: ARC-Regs\7f145061
+Node: ARC Floating Point\7f145172
+Node: ARC Directives\7f145474
+Node: ARC Opcodes\7f146756
+Node: AMD29K-Dependent\7f146956
+Node: AMD29K Options\7f147337
+Node: AMD29K Syntax\7f147511
+Node: AMD29K-Macros\7f147775
+Node: AMD29K-Chars\7f148026
+Node: AMD29K-Regs\7f148289
+Node: AMD29K Floating Point\7f149553
+Node: AMD29K Directives\7f149759
+Node: AMD29K Opcodes\7f151167
+Node: ARM-Dependent\7f151503
+Node: ARM Options\7f151877
+Node: ARM Syntax\7f154916
+Node: ARM-Chars\7f155136
+Node: ARM-Regs\7f155647
+Node: ARM Floating Point\7f155819
+Node: ARM Directives\7f156009
+Node: ARM Opcodes\7f158076
+Node: D10V-Dependent\7f160126
+Node: D10V-Opts\7f160468
+Node: D10V-Syntax\7f161422
+Node: D10V-Size\7f161942
+Node: D10V-Subs\7f162902
+Node: D10V-Chars\7f163924
+Node: D10V-Regs\7f165510
+Node: D10V-Addressing\7f166541
+Node: D10V-Word\7f167214
+Node: D10V-Float\7f167715
+Node: D10V-Opcodes\7f168017
+Node: D30V-Dependent\7f168401
+Node: D30V-Opts\7f168746
+Node: D30V-Syntax\7f169412
+Node: D30V-Size\7f169935
+Node: D30V-Subs\7f170893
+Node: D30V-Chars\7f171915
+Node: D30V-Guarded\7f174200
+Node: D30V-Regs\7f174868
+Node: D30V-Addressing\7f175994
+Node: D30V-Float\7f176649
+Node: D30V-Opcodes\7f176951
+Node: H8/300-Dependent\7f177335
+Node: H8/300 Options\7f177739
+Node: H8/300 Syntax\7f177920
+Node: H8/300-Chars\7f178207
+Node: H8/300-Regs\7f178491
+Node: H8/300-Addressing\7f179395
+Node: H8/300 Floating Point\7f180421
+Node: H8/300 Directives\7f180737
+Node: H8/300 Opcodes\7f181257
+Node: H8/500-Dependent\7f189610
+Node: H8/500 Options\7f190014
+Node: H8/500 Syntax\7f190195
+Node: H8/500-Chars\7f190482
+Node: H8/500-Regs\7f190773
+Node: H8/500-Addressing\7f191529
+Node: H8/500 Floating Point\7f192146
+Node: H8/500 Directives\7f192462
+Node: H8/500 Opcodes\7f192781
+Node: HPPA-Dependent\7f197894
+Node: HPPA Notes\7f198319
+Node: HPPA Options\7f199066
+Node: HPPA Syntax\7f199250
+Node: HPPA Floating Point\7f200509
+Node: HPPA Directives\7f200704
+Node: HPPA Opcodes\7f207295
+Node: ESA/390-Dependent\7f207543
+Node: ESA/390 Notes\7f207993
+Node: ESA/390 Options\7f208773
+Node: ESA/390 Syntax\7f208972
+Node: ESA/390 Floating Point\7f211133
+Node: ESA/390 Directives\7f211402
+Node: ESA/390 Opcodes\7f214679
+Node: i386-Dependent\7f214930
+Node: i386-Options\7f215988
+Node: i386-Syntax\7f216599
+Node: i386-Mnemonics\7f219002
+Node: i386-Regs\7f221456
+Node: i386-Prefixes\7f223490
+Node: i386-Memory\7f226238
+Node: i386-Jumps\7f229164
+Node: i386-Float\7f230274
+Node: i386-SIMD\7f232092
+Node: i386-16bit\7f233190
+Node: i386-Bugs\7f235215
+Node: i386-Arch\7f235954
+Node: i386-Notes\7f237818
+Node: i860-Dependent\7f238663
+Node: Notes-i860\7f239049
+Node: Options-i860\7f239543
+Node: Directives-i860\7f240548
+Node: Opcodes for i860\7f241210
+Node: i960-Dependent\7f243329
+Node: Options-i960\7f243721
+Node: Floating Point-i960\7f247602
+Node: Directives-i960\7f247859
+Node: Opcodes for i960\7f249879
+Node: callj-i960\7f250485
+Node: Compare-and-branch-i960\7f250960
+Node: M32R-Dependent\7f252849
+Node: M32R-Opts\7f253112
+Node: M32R-Warnings\7f254864
+Node: M68K-Dependent\7f257852
+Node: M68K-Opts\7f258309
+Node: M68K-Syntax\7f264600
+Node: M68K-Moto-Syntax\7f266428
+Node: M68K-Float\7f269006
+Node: M68K-Directives\7f269515
+Node: M68K-opcodes\7f270110
+Node: M68K-Branch\7f270322
+Node: M68K-Chars\7f274508
+Node: M68HC11-Dependent\7f274906
+Node: M68HC11-Opts\7f275309
+Node: M68HC11-Syntax\7f278012
+Node: M68HC11-Float\7f278828
+Node: M68HC11-opcodes\7f279341
+Node: M68HC11-Branch\7f279509
+Node: MIPS-Dependent\7f282016
+Node: MIPS Opts\7f282918
+Node: MIPS Object\7f287837
+Node: MIPS Stabs\7f289392
+Node: MIPS ISA\7f290103
+Node: MIPS autoextend\7f291233
+Node: MIPS insn\7f291944
+Node: MIPS option stack\7f292430
+Node: PJ-Dependent\7f293143
+Node: PJ Options\7f293356
+Node: SH-Dependent\7f293623
+Node: SH Options\7f294003
+Node: SH Syntax\7f294168
+Node: SH-Chars\7f294427
+Node: SH-Regs\7f294706
+Node: SH-Addressing\7f295305
+Node: SH Floating Point\7f296199
+Node: SH Directives\7f296495
+Node: SH Opcodes\7f296851
+Node: Sparc-Dependent\7f301098
+Node: Sparc-Opts\7f301470
+Node: Sparc-Aligned-Data\7f303716
+Node: Sparc-Float\7f304560
+Node: Sparc-Directives\7f304750
+Node: Z8000-Dependent\7f306699
+Node: Z8000 Options\7f307658
+Node: Z8000 Syntax\7f307833
+Node: Z8000-Chars\7f308109
+Node: Z8000-Regs\7f308327
+Node: Z8000-Addressing\7f309117
+Node: Z8000 Directives\7f310060
+Node: Z8000 Opcodes\7f311658
+Node: Vax-Dependent\7f321594
+Node: VAX-Opts\7f322101
+Node: VAX-float\7f325825
+Node: VAX-directives\7f326446
+Node: VAX-opcodes\7f327295
+Node: VAX-branch\7f327673
+Node: VAX-operands\7f330169
+Node: VAX-no\7f330921
+Node: V850-Dependent\7f331147
+Node: V850 Options\7f331533
+Node: V850 Syntax\7f333346
+Node: V850-Chars\7f333572
+Node: V850-Regs\7f333722
+Node: V850 Floating Point\7f335259
+Node: V850 Directives\7f335454
+Node: V850 Opcodes\7f336354
+Node: Reporting Bugs\7f341639
+Node: Bug Criteria\7f342362
+Node: Bug Reporting\7f343122
+Node: Acknowledgements\7f349690
+Ref: Acknowledgements-Footnote-1\7f354481
+Node: GNU Free Documentation License\7f354507
+Node: Index\7f372931
\1f
End Tag Table
Using as
********
- This file is a user guide to the GNU assembler `as' version 2.11.
+ This file is a user guide to the GNU assembler `as' version 2.11.1.
This document is distributed under the terms of the GNU Free
Documentation License. A copy of the license is included in the
`-marc[5|6|7|8]'
This option selects the core processor variant. Using `-marc' is
- the same as `-marc5', which is also the default.
+ the same as `-marc6', which is also the default.
`arc5'
Base instruction set.
`.option ARC|ARC5|ARC6|ARC7|ARC8'
The `.option' directive must be followed by the desired core
- version. Again `arc' is an alias for `arc5'.
+ version. Again `arc' is an alias for `arc6'.
Note: the `.option' directive overrides the command line option
`-marc'; a warning is emitted when the version is not consistent
between the two - even for the implicit default core version
- (arc5).
+ (arc6).
`.short EXPRESSIONS'
*TODO*
* i386-Regs:: Register Naming
* i386-Prefixes:: Instruction Prefixes
* i386-Memory:: Memory References
-* i386-jumps:: Handling of Jump Instructions
+* i386-Jumps:: Handling of Jump Instructions
* i386-Float:: Floating Point
* i386-SIMD:: Intel's MMX and AMD's 3DNow! SIMD Operations
* i386-16bit:: Writing 16-bit Code
operands.
\1f
-File: as.info, Node: i386-Memory, Next: i386-jumps, Prev: i386-Prefixes, Up: i386-Dependent
+File: as.info, Node: i386-Memory, Next: i386-Jumps, Prev: i386-Prefixes, Up: i386-Dependent
Memory References
-----------------
except registers used are 64-bit instead of 32-bit.
\1f
-File: as.info, Node: i386-jumps, Next: i386-Float, Prev: i386-Memory, Up: i386-Dependent
+File: as.info, Node: i386-Jumps, Next: i386-Float, Prev: i386-Memory, Up: i386-Dependent
Handling of Jump Instructions
-----------------------------
Jump instructions are always optimized to use the smallest possible
displacements. This is accomplished by using byte (8-bit) displacement
jumps whenever the target is sufficiently close. If a byte displacement
-is insufficient a long (32-bit) displacement is used. We do not support
-word (16-bit) displacement jumps in 32-bit mode (i.e. prefixing the jump
+is insufficient a long displacement is used. We do not support word
+(16-bit) displacement jumps in 32-bit mode (i.e. prefixing the jump
instruction with the `data16' instruction prefix), since the 80386
insists upon masking `%eip' to 16 bits after the word displacement is
-added.
+added. (See also *note i386-Arch::)
Note that the `jcxz', `jecxz', `loop', `loopz', `loope', `loopnz'
and `loopne' instructions only come in byte displacements, so that if
cx_nonzero:
\1f
-File: as.info, Node: i386-Float, Next: i386-SIMD, Prev: i386-jumps, Up: i386-Dependent
+File: as.info, Node: i386-Float, Next: i386-SIMD, Prev: i386-Jumps, Up: i386-Dependent
Floating Point
--------------
`pentiumpro' `pentium4' `k6' `athlon'
`sledgehammer'
- Apart from the warning, there is only one other effect on `as'
-operation; If you specify a CPU other than `i486', then shift by one
-instructions such as `sarl $1, %eax' will automatically use a two byte
-opcode sequence. The larger three byte opcode sequence is used on the
-486 (and when no architecture is specified) because it executes faster
-on the 486. Note that you can explicitly request the two byte opcode
-by writing `sarl %eax'.
+ Apart from the warning, there are only two other effects on `as'
+operation; Firstly, if you specify a CPU other than `i486', then shift
+by one instructions such as `sarl $1, %eax' will automatically use a
+two byte opcode sequence. The larger three byte opcode sequence is
+used on the 486 (and when no architecture is specified) because it
+executes faster on the 486. Note that you can explicitly request the
+two byte opcode by writing `sarl %eax'. Secondly, if you specify
+`i8086', `i186', or `i286', _and_ `.code16' or `.code16gcc' then byte
+offset conditional jumps will be promoted when necessary to a two
+instruction sequence consisting of a conditional jump of the opposite
+sense around an unconditional jump to the target.
+
+ Following the CPU architecture, you may specify `jumps' or `nojumps'
+to control automatic promotion of conditional jumps. `jumps' is the
+default, and enables jump promotion; All external jumps will be of the
+long variety, and file-local jumps will be promoted as necessary.
+(*note i386-Jumps::) `nojumps' leaves external conditional jumps as
+byte offset jumps, and warns about file-local conditional jumps that
+`as' promotes. Unconditional jumps are treated as for `jumps'.
+
+ For example
+
+ .arch i8086,nojumps
\1f
File: as.info, Node: i386-Notes, Prev: i386-Bugs, Up: i386-Dependent
`as' generates IEEE floating-point numbers for the directives
`.float', `.double', `.extended', and `.single'.
-\1f
-File: as.info, Node: Directives-i960, Next: Opcodes for i960, Prev: Floating Point-i960, Up: i960-Dependent
-
-i960 Machine Directives
------------------------
-
-`.bss SYMBOL, LENGTH, ALIGN'
- Reserve LENGTH bytes in the bss section for a local SYMBOL,
- aligned to the power of two specified by ALIGN. LENGTH and ALIGN
- must be positive absolute expressions. This directive differs
- from `.lcomm' only in that it permits you to specify an alignment.
- *Note `.lcomm': Lcomm.
-
-`.extended FLONUMS'
- `.extended' expects zero or more flonums, separated by commas; for
- each flonum, `.extended' emits an IEEE extended-format (80-bit)
- floating-point number.
-
-`.leafproc CALL-LAB, BAL-LAB'
- You can use the `.leafproc' directive in conjunction with the
- optimized `callj' instruction to enable faster calls of leaf
- procedures. If a procedure is known to call no other procedures,
- you may define an entry point that skips procedure prolog code
- (and that does not depend on system-supplied saved context), and
- declare it as the BAL-LAB using `.leafproc'. If the procedure
- also has an entry point that goes through the normal prolog, you
- can specify that entry point as CALL-LAB.
-
- A `.leafproc' declaration is meant for use in conjunction with the
- optimized call instruction `callj'; the directive records the data
- needed later to choose between converting the `callj' into a `bal'
- or a `call'.
-
- CALL-LAB is optional; if only one argument is present, or if the
- two arguments are identical, the single argument is assumed to be
- the `bal' entry point.
-
-`.sysproc NAME, INDEX'
- The `.sysproc' directive defines a name for a system procedure.
- After you define it using `.sysproc', you can use NAME to refer to
- the system procedure identified by INDEX when calling procedures
- with the optimized call instruction `callj'.
-
- Both arguments are required; INDEX must be between 0 and 31
- (inclusive).
-
Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
+\1f
+File: as.info, Node: Directives-i960, Next: Opcodes for i960, Prev: Floating Point-i960, Up: i960-Dependent
+
+i960 Machine Directives
+-----------------------
+
+`.bss SYMBOL, LENGTH, ALIGN'
+ Reserve LENGTH bytes in the bss section for a local SYMBOL,
+ aligned to the power of two specified by ALIGN. LENGTH and ALIGN
+ must be positive absolute expressions. This directive differs
+ from `.lcomm' only in that it permits you to specify an alignment.
+ *Note `.lcomm': Lcomm.
+
+`.extended FLONUMS'
+ `.extended' expects zero or more flonums, separated by commas; for
+ each flonum, `.extended' emits an IEEE extended-format (80-bit)
+ floating-point number.
+
+`.leafproc CALL-LAB, BAL-LAB'
+ You can use the `.leafproc' directive in conjunction with the
+ optimized `callj' instruction to enable faster calls of leaf
+ procedures. If a procedure is known to call no other procedures,
+ you may define an entry point that skips procedure prolog code
+ (and that does not depend on system-supplied saved context), and
+ declare it as the BAL-LAB using `.leafproc'. If the procedure
+ also has an entry point that goes through the normal prolog, you
+ can specify that entry point as CALL-LAB.
+
+ A `.leafproc' declaration is meant for use in conjunction with the
+ optimized call instruction `callj'; the directive records the data
+ needed later to choose between converting the `callj' into a `bal'
+ or a `call'.
+
+ CALL-LAB is optional; if only one argument is present, or if the
+ two arguments are identical, the single argument is assumed to be
+ the `bal' entry point.
+
+`.sysproc NAME, INDEX'
+ The `.sysproc' directive defines a name for a system procedure.
+ After you define it using `.sysproc', you can use NAME to refer to
+ the system procedure identified by INDEX when calling procedures
+ with the optimized call instruction `callj'.
+
+ Both arguments are required; INDEX must be between 0 and 31
+ (inclusive).
+
\1f
File: as.info, Node: Opcodes for i960, Prev: Directives-i960, Up: i960-Dependent
* i386 instruction naming: i386-Mnemonics.
* i386 instruction prefixes: i386-Prefixes.
* i386 intel_syntax pseudo op: i386-Syntax.
-* i386 jump optimization: i386-jumps.
+* i386 jump optimization: i386-Jumps.
* i386 jump, call, return: i386-Syntax.
* i386 jump/call operands: i386-Syntax.
* i386 memory references: i386-Memory.
* joining text and data sections: R.
* jump instructions, i386: i386-Mnemonics.
* jump instructions, x86-64: i386-Mnemonics.
-* jump optimization, i386: i386-jumps.
-* jump optimization, x86-64: i386-jumps.
+* jump optimization, i386: i386-Jumps.
+* jump optimization, x86-64: i386-Jumps.
* jump/call operands, i386: i386-Syntax.
* jump/call operands, x86-64: i386-Syntax.
* label (:): Statements.
* x86-64 immediate operands: i386-Syntax.
* x86-64 instruction naming: i386-Mnemonics.
* x86-64 intel_syntax pseudo op: i386-Syntax.
-* x86-64 jump optimization: i386-jumps.
+* x86-64 jump optimization: i386-Jumps.
* x86-64 jump, call, return: i386-Syntax.
* x86-64 jump/call operands: i386-Syntax.
* x86-64 memory references: i386-Memory.
-@set VERSION 2.11
+@set VERSION 2.11.1
#line 1 "itbl-lex.l"
#define INITIAL 0
/* itbl-lex.l
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright 1997, 1998 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
45, 6, 38, 13, 16
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
16, 0, 17, 17, 17, 17, 17
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
\1f
Indirect:
-ld.info-1: 309
-ld.info-2: 2594
-ld.info-3: 54789
-ld.info-4: 103438
-ld.info-5: 153415
-ld.info-6: 183904
+ld.info-1: 311
+ld.info-2: 2598
+ld.info-3: 55192
+ld.info-4: 103841
+ld.info-5: 153818
+ld.info-6: 184307
\1f
Tag Table:
(Indirect)
-Node: Top\7f309
-Node: Overview\7f1074
-Node: Invocation\7f2187
-Node: Options\7f2594
-Node: Environment\7f54789
-Node: Scripts\7f56544
-Node: Basic Script Concepts\7f58277
-Node: Script Format\7f60979
-Node: Simple Example\7f61837
-Node: Simple Commands\7f64927
-Node: Entry Point\7f65373
-Node: File Commands\7f66123
-Node: Format Commands\7f69176
-Node: Miscellaneous Commands\7f71132
-Node: Assignments\7f73123
-Node: Simple Assignments\7f73455
-Node: PROVIDE\7f75151
-Node: SECTIONS\7f76324
-Node: Output Section Description\7f78210
-Node: Output Section Name\7f79195
-Node: Output Section Address\7f80062
-Node: Input Section\7f81696
-Node: Input Section Basics\7f82488
-Node: Input Section Wildcards\7f84756
-Node: Input Section Common\7f87563
-Node: Input Section Keep\7f89032
-Node: Input Section Example\7f89501
-Node: Output Section Data\7f90458
-Node: Output Section Keywords\7f93211
-Node: Output Section Discarding\7f96643
-Node: Output Section Attributes\7f97588
-Node: Output Section Type\7f98422
-Node: Output Section LMA\7f99563
-Node: Output Section Region\7f101667
-Node: Output Section Phdr\7f102080
-Node: Output Section Fill\7f102731
-Node: Overlay Description\7f103438
-Node: MEMORY\7f107677
-Node: PHDRS\7f111754
-Node: VERSION\7f116793
-Node: Expressions\7f122871
-Node: Constants\7f123705
-Node: Symbols\7f124261
-Node: Location Counter\7f124993
-Node: Operators\7f127298
-Node: Evaluation\7f128209
-Node: Expression Section\7f129563
-Node: Builtin Functions\7f131039
-Node: Implicit Linker Scripts\7f136041
-Node: Machine Dependent\7f136809
-Node: H8/300\7f137370
-Node: i960\7f138166
-Node: ARM\7f139846
-Node: HPPA ELF32\7f141000
-Node: TI COFF\7f142621
-Node: BFD\7f143129
-Node: BFD outline\7f144583
-Node: BFD information loss\7f145868
-Node: Canonical format\7f148376
-Node: Reporting Bugs\7f152722
-Node: Bug Criteria\7f153415
-Node: Bug Reporting\7f154109
-Node: MRI\7f160869
-Node: GNU Free Documentation License\7f165493
-Node: Index\7f183904
+Node: Top\7f311
+Node: Overview\7f1078
+Node: Invocation\7f2191
+Node: Options\7f2598
+Node: Environment\7f55192
+Node: Scripts\7f56947
+Node: Basic Script Concepts\7f58680
+Node: Script Format\7f61382
+Node: Simple Example\7f62240
+Node: Simple Commands\7f65330
+Node: Entry Point\7f65776
+Node: File Commands\7f66526
+Node: Format Commands\7f69579
+Node: Miscellaneous Commands\7f71535
+Node: Assignments\7f73526
+Node: Simple Assignments\7f73858
+Node: PROVIDE\7f75554
+Node: SECTIONS\7f76727
+Node: Output Section Description\7f78613
+Node: Output Section Name\7f79598
+Node: Output Section Address\7f80465
+Node: Input Section\7f82099
+Node: Input Section Basics\7f82891
+Node: Input Section Wildcards\7f85159
+Node: Input Section Common\7f87966
+Node: Input Section Keep\7f89435
+Node: Input Section Example\7f89904
+Node: Output Section Data\7f90861
+Node: Output Section Keywords\7f93614
+Node: Output Section Discarding\7f97046
+Node: Output Section Attributes\7f97991
+Node: Output Section Type\7f98825
+Node: Output Section LMA\7f99966
+Node: Output Section Region\7f102070
+Node: Output Section Phdr\7f102483
+Node: Output Section Fill\7f103134
+Node: Overlay Description\7f103841
+Node: MEMORY\7f108080
+Node: PHDRS\7f112157
+Node: VERSION\7f117196
+Node: Expressions\7f123274
+Node: Constants\7f124108
+Node: Symbols\7f124664
+Node: Location Counter\7f125396
+Node: Operators\7f127701
+Node: Evaluation\7f128612
+Node: Expression Section\7f129966
+Node: Builtin Functions\7f131442
+Node: Implicit Linker Scripts\7f136444
+Node: Machine Dependent\7f137212
+Node: H8/300\7f137773
+Node: i960\7f138569
+Node: ARM\7f140249
+Node: HPPA ELF32\7f141403
+Node: TI COFF\7f143024
+Node: BFD\7f143532
+Node: BFD outline\7f144986
+Node: BFD information loss\7f146271
+Node: Canonical format\7f148779
+Node: Reporting Bugs\7f153125
+Node: Bug Criteria\7f153818
+Node: Bug Reporting\7f154512
+Node: MRI\7f161272
+Node: GNU Free Documentation License\7f165896
+Node: Index\7f184307
\1f
End Tag Table
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
Using ld
********
- This file documents the GNU linker ld version 2.11.
+ This file documents the GNU linker ld version 2.11.1.
This document is distributed under the terms of the GNU Free
Documentation License. A copy of the license is included in the
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
available to `dlopen'. `nodump' marks the object can not be
dumped by `dldump'. `now' marks the object with the non-lazy
runtime binding. `origin' marks the object may contain $ORIGIN.
+ `defs' disallows undefined symbols.
`-( ARCHIVES -)'
`--start-group ARCHIVES --end-group'
may use this option multiple times on the command line: it affects
library searching for `-l' options which follow it.
+`-Bgroup'
+ Set the `DF_1_GROUP' flag in the `DT_FLAGS_1' entry in the dynamic
+ section. This causes the runtime linker to handle lookups in this
+ object and its dependencies to be performed only inside the group.
+ `--no-undefined' is implied. This option is only meaningful on ELF
+ platforms which support shared libraries.
+
`-Bstatic'
`-dn'
`-non_shared'
space while linking a large executable.
`--no-undefined'
+`-z defs'
Normally when creating a non-symbolic shared library, undefined
symbols are allowed and left to be resolved by the runtime loader.
- This option disallows such undefined symbols.
+ These options disallow such undefined symbols.
`--allow-shlib-undefined'
Allow undefined symbols in shared objects even when -no-undefined
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
* Ld: (ld). The GNU linker.
END-INFO-DIR-ENTRY
- This file documents the GNU linker LD version 2.11.
+ This file documents the GNU linker LD version 2.11.1.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
Software Foundation, Inc.
* -assert KEYWORD: Options.
* -b FORMAT: Options.
* -Bdynamic: Options.
+* -Bgroup: Options.
* -Bshareable: Options.
* -Bstatic: Options.
* -Bsymbolic: Options.
* -x: Options.
* -Y PATH: Options.
* -y SYMBOL: Options.
+* -z defs: Options.
* -z KEYWORD: Options.
* .: Location Counter.
* /DISCARD/: Output Section Discarding.
34, 6, 7, 8, 9, 10, 11, 12, 13, 14
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
+#line 3 "/usr/share/bison/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
#endif
#endif
\f
-#line 217 "/usr/share/misc/bison.simple"
+#line 217 "/usr/share/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/bison.simple"
+#line 543 "/usr/share/bison/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
#define INITIAL 0
#line 2 "ldlex.l"
-/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 1999
+/* Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
#include "ldfile.h"
#include "ldlex.h"
#include "ldmain.h"
+#include "libiberty.h"
/* The type of top-level parser input.
yylex and yyparse (indirectly) both check this. */
#define VERS_NODE 8
-#line 1283 "lex.yy.c"
+#line 1284 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 128 "ldlex.l"
+#line 129 "ldlex.l"
if (parser_input != input_selected)
}
}
-#line 1452 "lex.yy.c"
+#line 1453 "lex.yy.c"
if ( yy_init )
{
case 1:
YY_RULE_SETUP
-#line 145 "ldlex.l"
+#line 146 "ldlex.l"
{ comment(); }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 148 "ldlex.l"
+#line 149 "ldlex.l"
{ RTOKEN('-');}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 149 "ldlex.l"
+#line 150 "ldlex.l"
{ RTOKEN('+');}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 150 "ldlex.l"
-{ yylval.name = buystring(yytext); return NAME; }
+#line 151 "ldlex.l"
+{ yylval.name = xstrdup(yytext); return NAME; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 151 "ldlex.l"
+#line 152 "ldlex.l"
{ RTOKEN('='); }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 153 "ldlex.l"
+#line 154 "ldlex.l"
{
yylval.integer = bfd_scan_vma (yytext+1, 0,16);
return INT;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 158 "ldlex.l"
+#line 159 "ldlex.l"
{
int ibase ;
switch (yytext[yyleng-1]) {
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 182 "ldlex.l"
+#line 183 "ldlex.l"
{
char *s = yytext;
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 196 "ldlex.l"
+#line 197 "ldlex.l"
{ RTOKEN(']');}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 197 "ldlex.l"
+#line 198 "ldlex.l"
{ RTOKEN('[');}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 198 "ldlex.l"
+#line 199 "ldlex.l"
{ RTOKEN(LSHIFTEQ);}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 199 "ldlex.l"
+#line 200 "ldlex.l"
{ RTOKEN(RSHIFTEQ);}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 200 "ldlex.l"
+#line 201 "ldlex.l"
{ RTOKEN(OROR);}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 201 "ldlex.l"
+#line 202 "ldlex.l"
{ RTOKEN(EQ);}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 202 "ldlex.l"
+#line 203 "ldlex.l"
{ RTOKEN(NE);}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 203 "ldlex.l"
+#line 204 "ldlex.l"
{ RTOKEN(GE);}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 204 "ldlex.l"
+#line 205 "ldlex.l"
{ RTOKEN(LE);}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 205 "ldlex.l"
+#line 206 "ldlex.l"
{ RTOKEN(LSHIFT);}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 206 "ldlex.l"
+#line 207 "ldlex.l"
{ RTOKEN(RSHIFT);}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 207 "ldlex.l"
+#line 208 "ldlex.l"
{ RTOKEN(PLUSEQ);}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 208 "ldlex.l"
+#line 209 "ldlex.l"
{ RTOKEN(MINUSEQ);}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 209 "ldlex.l"
+#line 210 "ldlex.l"
{ RTOKEN(MULTEQ);}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 210 "ldlex.l"
+#line 211 "ldlex.l"
{ RTOKEN(DIVEQ);}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 211 "ldlex.l"
+#line 212 "ldlex.l"
{ RTOKEN(ANDEQ);}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 212 "ldlex.l"
+#line 213 "ldlex.l"
{ RTOKEN(OREQ);}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 213 "ldlex.l"
+#line 214 "ldlex.l"
{ RTOKEN(ANDAND);}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 214 "ldlex.l"
+#line 215 "ldlex.l"
{ RTOKEN('>');}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 215 "ldlex.l"
+#line 216 "ldlex.l"
{ RTOKEN(',');}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 216 "ldlex.l"
+#line 217 "ldlex.l"
{ RTOKEN('&');}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 217 "ldlex.l"
+#line 218 "ldlex.l"
{ RTOKEN('|');}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 218 "ldlex.l"
+#line 219 "ldlex.l"
{ RTOKEN('~');}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 219 "ldlex.l"
+#line 220 "ldlex.l"
{ RTOKEN('!');}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 220 "ldlex.l"
+#line 221 "ldlex.l"
{ RTOKEN('?');}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 221 "ldlex.l"
+#line 222 "ldlex.l"
{ RTOKEN('*');}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 222 "ldlex.l"
+#line 223 "ldlex.l"
{ RTOKEN('+');}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 223 "ldlex.l"
+#line 224 "ldlex.l"
{ RTOKEN('-');}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 224 "ldlex.l"
+#line 225 "ldlex.l"
{ RTOKEN('/');}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 225 "ldlex.l"
+#line 226 "ldlex.l"
{ RTOKEN('%');}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 226 "ldlex.l"
+#line 227 "ldlex.l"
{ RTOKEN('<');}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 227 "ldlex.l"
+#line 228 "ldlex.l"
{ RTOKEN('=');}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 228 "ldlex.l"
+#line 229 "ldlex.l"
{ RTOKEN('}') ; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 229 "ldlex.l"
+#line 230 "ldlex.l"
{ RTOKEN('{'); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 230 "ldlex.l"
+#line 231 "ldlex.l"
{ RTOKEN(')');}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 231 "ldlex.l"
+#line 232 "ldlex.l"
{ RTOKEN('(');}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 232 "ldlex.l"
+#line 233 "ldlex.l"
{ RTOKEN(':'); }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 233 "ldlex.l"
+#line 234 "ldlex.l"
{ RTOKEN(';');}
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 234 "ldlex.l"
+#line 235 "ldlex.l"
{ RTOKEN(MEMORY);}
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 235 "ldlex.l"
+#line 236 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 236 "ldlex.l"
+#line 237 "ldlex.l"
{ RTOKEN(VERSIONK);}
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 237 "ldlex.l"
+#line 238 "ldlex.l"
{ RTOKEN(BLOCK);}
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 238 "ldlex.l"
+#line 239 "ldlex.l"
{ RTOKEN(BIND);}
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 239 "ldlex.l"
+#line 240 "ldlex.l"
{ RTOKEN(LENGTH);}
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 240 "ldlex.l"
+#line 241 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 241 "ldlex.l"
+#line 242 "ldlex.l"
{ RTOKEN(ADDR);}
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 242 "ldlex.l"
+#line 243 "ldlex.l"
{ RTOKEN(LOADADDR);}
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 243 "ldlex.l"
+#line 244 "ldlex.l"
{ RTOKEN(MAX_K); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 244 "ldlex.l"
+#line 245 "ldlex.l"
{ RTOKEN(MIN_K); }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 245 "ldlex.l"
+#line 246 "ldlex.l"
{ RTOKEN(ASSERT_K); }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 246 "ldlex.l"
+#line 247 "ldlex.l"
{ RTOKEN(ENTRY);}
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 247 "ldlex.l"
+#line 248 "ldlex.l"
{ RTOKEN(EXTERN);}
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 248 "ldlex.l"
+#line 249 "ldlex.l"
{ RTOKEN(NEXT);}
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 249 "ldlex.l"
+#line 250 "ldlex.l"
{ RTOKEN(SIZEOF_HEADERS);}
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 250 "ldlex.l"
+#line 251 "ldlex.l"
{ RTOKEN(SIZEOF_HEADERS);}
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 251 "ldlex.l"
+#line 252 "ldlex.l"
{ RTOKEN(MAP);}
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 252 "ldlex.l"
+#line 253 "ldlex.l"
{ RTOKEN(SIZEOF);}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 253 "ldlex.l"
+#line 254 "ldlex.l"
{ RTOKEN(TARGET_K);}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 254 "ldlex.l"
+#line 255 "ldlex.l"
{ RTOKEN(SEARCH_DIR);}
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 255 "ldlex.l"
+#line 256 "ldlex.l"
{ RTOKEN(OUTPUT);}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 256 "ldlex.l"
+#line 257 "ldlex.l"
{ RTOKEN(INPUT);}
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 257 "ldlex.l"
+#line 258 "ldlex.l"
{ RTOKEN(GROUP);}
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 258 "ldlex.l"
+#line 259 "ldlex.l"
{ RTOKEN(DEFINED);}
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 259 "ldlex.l"
+#line 260 "ldlex.l"
{ RTOKEN(CREATE_OBJECT_SYMBOLS);}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 260 "ldlex.l"
+#line 261 "ldlex.l"
{ RTOKEN( CONSTRUCTORS);}
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 261 "ldlex.l"
+#line 262 "ldlex.l"
{ RTOKEN(FORCE_COMMON_ALLOCATION);}
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 262 "ldlex.l"
+#line 263 "ldlex.l"
{ RTOKEN(SECTIONS);}
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 263 "ldlex.l"
+#line 264 "ldlex.l"
{ RTOKEN(FILL);}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 264 "ldlex.l"
+#line 265 "ldlex.l"
{ RTOKEN(STARTUP);}
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 265 "ldlex.l"
+#line 266 "ldlex.l"
{ RTOKEN(OUTPUT_FORMAT);}
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 266 "ldlex.l"
+#line 267 "ldlex.l"
{ RTOKEN( OUTPUT_ARCH);}
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 267 "ldlex.l"
+#line 268 "ldlex.l"
{ RTOKEN(HLL);}
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 268 "ldlex.l"
+#line 269 "ldlex.l"
{ RTOKEN(SYSLIB);}
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 269 "ldlex.l"
+#line 270 "ldlex.l"
{ RTOKEN(FLOAT);}
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 270 "ldlex.l"
+#line 271 "ldlex.l"
{ RTOKEN( QUAD);}
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 271 "ldlex.l"
+#line 272 "ldlex.l"
{ RTOKEN( SQUAD);}
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 272 "ldlex.l"
+#line 273 "ldlex.l"
{ RTOKEN( LONG);}
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 273 "ldlex.l"
+#line 274 "ldlex.l"
{ RTOKEN( SHORT);}
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 274 "ldlex.l"
+#line 275 "ldlex.l"
{ RTOKEN( BYTE);}
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 275 "ldlex.l"
+#line 276 "ldlex.l"
{ RTOKEN(NOFLOAT);}
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 276 "ldlex.l"
+#line 277 "ldlex.l"
{ RTOKEN(NOCROSSREFS);}
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 277 "ldlex.l"
+#line 278 "ldlex.l"
{ RTOKEN(OVERLAY); }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 278 "ldlex.l"
+#line 279 "ldlex.l"
{ RTOKEN(SORT); }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 279 "ldlex.l"
+#line 280 "ldlex.l"
{ RTOKEN(NOLOAD);}
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 280 "ldlex.l"
+#line 281 "ldlex.l"
{ RTOKEN(DSECT);}
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 281 "ldlex.l"
+#line 282 "ldlex.l"
{ RTOKEN(COPY);}
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 282 "ldlex.l"
+#line 283 "ldlex.l"
{ RTOKEN(INFO);}
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 283 "ldlex.l"
+#line 284 "ldlex.l"
{ RTOKEN(OVERLAY);}
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 284 "ldlex.l"
+#line 285 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 285 "ldlex.l"
+#line 286 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 286 "ldlex.l"
+#line 287 "ldlex.l"
{ RTOKEN( LENGTH);}
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 287 "ldlex.l"
+#line 288 "ldlex.l"
{ RTOKEN( LENGTH);}
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 288 "ldlex.l"
+#line 289 "ldlex.l"
{ RTOKEN(INCLUDE);}
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 289 "ldlex.l"
+#line 290 "ldlex.l"
{ RTOKEN (PHDRS); }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 290 "ldlex.l"
+#line 291 "ldlex.l"
{ RTOKEN(AT);}
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 291 "ldlex.l"
+#line 292 "ldlex.l"
{ RTOKEN(PROVIDE); }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 292 "ldlex.l"
+#line 293 "ldlex.l"
{ RTOKEN(KEEP); }
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 293 "ldlex.l"
+#line 294 "ldlex.l"
{ RTOKEN(EXCLUDE_FILE); }
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 294 "ldlex.l"
+#line 295 "ldlex.l"
{ ++ lineno; }
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 295 "ldlex.l"
+#line 296 "ldlex.l"
{ ++ lineno; RTOKEN(NEWLINE); }
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 296 "ldlex.l"
+#line 297 "ldlex.l"
{ /* Mri comment line */ }
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 297 "ldlex.l"
+#line 298 "ldlex.l"
{ /* Mri comment line */ }
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 298 "ldlex.l"
+#line 299 "ldlex.l"
{ RTOKEN(ENDWORD); }
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 299 "ldlex.l"
+#line 300 "ldlex.l"
{ RTOKEN(ALIGNMOD);}
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 300 "ldlex.l"
+#line 301 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 301 "ldlex.l"
+#line 302 "ldlex.l"
{ RTOKEN(CHIP); }
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 302 "ldlex.l"
+#line 303 "ldlex.l"
{ RTOKEN(BASE); }
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 303 "ldlex.l"
+#line 304 "ldlex.l"
{ RTOKEN(ALIAS); }
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 304 "ldlex.l"
+#line 305 "ldlex.l"
{ RTOKEN(TRUNCATE); }
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 305 "ldlex.l"
+#line 306 "ldlex.l"
{ RTOKEN(LOAD); }
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 306 "ldlex.l"
+#line 307 "ldlex.l"
{ RTOKEN(PUBLIC); }
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 307 "ldlex.l"
+#line 308 "ldlex.l"
{ RTOKEN(ORDER); }
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 308 "ldlex.l"
+#line 309 "ldlex.l"
{ RTOKEN(NAMEWORD); }
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 309 "ldlex.l"
+#line 310 "ldlex.l"
{ RTOKEN(FORMAT); }
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 310 "ldlex.l"
+#line 311 "ldlex.l"
{ RTOKEN(CASE); }
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 311 "ldlex.l"
+#line 312 "ldlex.l"
{ RTOKEN(START); }
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 312 "ldlex.l"
+#line 313 "ldlex.l"
{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 313 "ldlex.l"
+#line 314 "ldlex.l"
{ RTOKEN(SECT); }
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 314 "ldlex.l"
+#line 315 "ldlex.l"
{ RTOKEN(ABSOLUTE); }
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 315 "ldlex.l"
+#line 316 "ldlex.l"
{ RTOKEN(ENDWORD); }
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 316 "ldlex.l"
+#line 317 "ldlex.l"
{ RTOKEN(ALIGNMOD);}
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 317 "ldlex.l"
+#line 318 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 318 "ldlex.l"
+#line 319 "ldlex.l"
{ RTOKEN(CHIP); }
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 319 "ldlex.l"
+#line 320 "ldlex.l"
{ RTOKEN(BASE); }
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 320 "ldlex.l"
+#line 321 "ldlex.l"
{ RTOKEN(ALIAS); }
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 321 "ldlex.l"
+#line 322 "ldlex.l"
{ RTOKEN(TRUNCATE); }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 322 "ldlex.l"
+#line 323 "ldlex.l"
{ RTOKEN(LOAD); }
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 323 "ldlex.l"
+#line 324 "ldlex.l"
{ RTOKEN(PUBLIC); }
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 324 "ldlex.l"
+#line 325 "ldlex.l"
{ RTOKEN(ORDER); }
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 325 "ldlex.l"
+#line 326 "ldlex.l"
{ RTOKEN(NAMEWORD); }
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 326 "ldlex.l"
+#line 327 "ldlex.l"
{ RTOKEN(FORMAT); }
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 327 "ldlex.l"
+#line 328 "ldlex.l"
{ RTOKEN(CASE); }
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 328 "ldlex.l"
+#line 329 "ldlex.l"
{ RTOKEN(EXTERN); }
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 329 "ldlex.l"
+#line 330 "ldlex.l"
{ RTOKEN(START); }
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 330 "ldlex.l"
+#line 331 "ldlex.l"
{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 331 "ldlex.l"
+#line 332 "ldlex.l"
{ RTOKEN(SECT); }
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 332 "ldlex.l"
+#line 333 "ldlex.l"
{ RTOKEN(ABSOLUTE); }
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 334 "ldlex.l"
+#line 335 "ldlex.l"
{
/* Filename without commas, needed to parse mri stuff */
- yylval.name = buystring(yytext);
+ yylval.name = xstrdup(yytext);
return NAME;
}
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 341 "ldlex.l"
+#line 342 "ldlex.l"
{
- yylval.name = buystring(yytext);
+ yylval.name = xstrdup(yytext);
return NAME;
}
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 345 "ldlex.l"
+#line 346 "ldlex.l"
{
- yylval.name = buystring (yytext + 2);
+ yylval.name = xstrdup (yytext + 2);
return LNAME;
}
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 349 "ldlex.l"
+#line 350 "ldlex.l"
{
/* Annoyingly, this pattern can match comments, and we have
longest match issues to consider. So if the first two
}
else
{
- yylval.name = buystring(yytext);
+ yylval.name = xstrdup(yytext);
return NAME;
}
}
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 366 "ldlex.l"
+#line 367 "ldlex.l"
{
/* No matter the state, quotes
give what's inside */
- yylval.name = buystring(yytext+1);
+ yylval.name = xstrdup(yytext+1);
yylval.name[yyleng-2] = 0;
return NAME;
}
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 373 "ldlex.l"
+#line 374 "ldlex.l"
{ lineno++;}
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 374 "ldlex.l"
+#line 375 "ldlex.l"
{ }
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 376 "ldlex.l"
+#line 377 "ldlex.l"
{ return *yytext; }
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 378 "ldlex.l"
+#line 379 "ldlex.l"
{ RTOKEN(GLOBAL); }
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 380 "ldlex.l"
+#line 381 "ldlex.l"
{ RTOKEN(LOCAL); }
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 382 "ldlex.l"
+#line 383 "ldlex.l"
{ RTOKEN(EXTERN); }
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 384 "ldlex.l"
-{ yylval.name = buystring (yytext);
+#line 385 "ldlex.l"
+{ yylval.name = xstrdup (yytext);
return VERS_IDENTIFIER; }
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 387 "ldlex.l"
-{ yylval.name = buystring (yytext);
+#line 388 "ldlex.l"
+{ yylval.name = xstrdup (yytext);
return VERS_TAG; }
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 390 "ldlex.l"
+#line 391 "ldlex.l"
{ BEGIN(VERS_SCRIPT); return *yytext; }
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 392 "ldlex.l"
+#line 393 "ldlex.l"
{ BEGIN(VERS_NODE);
vers_node_nesting = 0;
return *yytext;
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 396 "ldlex.l"
+#line 397 "ldlex.l"
{ return *yytext; }
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 397 "ldlex.l"
+#line 398 "ldlex.l"
{ vers_node_nesting++; return *yytext; }
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 398 "ldlex.l"
+#line 399 "ldlex.l"
{ if (--vers_node_nesting < 0)
BEGIN(VERS_SCRIPT);
return *yytext;
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 403 "ldlex.l"
+#line 404 "ldlex.l"
{ lineno++; }
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 405 "ldlex.l"
+#line 406 "ldlex.l"
{ /* Eat up comments */ }
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 407 "ldlex.l"
+#line 408 "ldlex.l"
{ /* Eat up whitespace */ }
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(VERS_START):
case YY_STATE_EOF(VERS_SCRIPT):
case YY_STATE_EOF(VERS_NODE):
-#line 409 "ldlex.l"
+#line 410 "ldlex.l"
{
include_stack_ptr--;
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 428 "ldlex.l"
+#line 429 "ldlex.l"
lex_warn_invalid(" in script", yytext);
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 429 "ldlex.l"
+#line 430 "ldlex.l"
lex_warn_invalid(" in expression", yytext);
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 431 "ldlex.l"
+#line 432 "ldlex.l"
ECHO;
YY_BREAK
-#line 2487 "lex.yy.c"
+#line 2488 "lex.yy.c"
case YY_END_OF_BUFFER:
{
return 0;
}
#endif
-#line 431 "ldlex.l"
+#line 432 "ldlex.l"
\f
-@set VERSION 2.11
+@set VERSION 2.11.1