aboutsummaryrefslogtreecommitdiff
path: root/sim/arm
diff options
context:
space:
mode:
Diffstat (limited to 'sim/arm')
-rw-r--r--sim/arm/.Sanitize71
-rw-r--r--sim/arm/COPYING339
-rw-r--r--sim/arm/ChangeLog423
-rw-r--r--sim/arm/Makefile.in41
-rw-r--r--sim/arm/README.Cygnus27
-rw-r--r--sim/arm/acconfig.h15
-rw-r--r--sim/arm/armfpe.h1351
-rw-r--r--sim/arm/armopts.h30
-rw-r--r--sim/arm/armos.c968
-rw-r--r--sim/arm/armos.h64
-rw-r--r--sim/arm/armrdi.c1042
-rw-r--r--sim/arm/bag.h42
-rw-r--r--sim/arm/communicate.c221
-rw-r--r--sim/arm/communicate.h37
-rw-r--r--sim/arm/config.in16
-rwxr-xr-xsim/arm/configure3692
-rw-r--r--sim/arm/configure.in10
-rw-r--r--sim/arm/dbg_conf.h48
-rw-r--r--sim/arm/dbg_cp.h62
-rw-r--r--sim/arm/dbg_hif.h47
-rw-r--r--sim/arm/dbg_rdi.h323
-rw-r--r--sim/arm/gdbhost.c107
-rw-r--r--sim/arm/gdbhost.h23
-rw-r--r--sim/arm/kid.c510
-rw-r--r--sim/arm/main.c183
-rw-r--r--sim/arm/parent.c483
-rw-r--r--sim/arm/wrapper.c397
27 files changed, 0 insertions, 10572 deletions
diff --git a/sim/arm/.Sanitize b/sim/arm/.Sanitize
deleted file mode 100644
index 90b71e0..0000000
--- a/sim/arm/.Sanitize
+++ /dev/null
@@ -1,71 +0,0 @@
-# Sanitize.in for devo.
-# $Id$
-#
-
-# Each directory to survive it's way into a release will need a file
-# like this one called "./.Sanitize". All keyword lines must exist,
-# and must exist in the order specified by this file. Each directory
-# in the tree will be processed, top down, in the following order.
-
-# Hash started lines like this one are comments and will be deleted
-# before anything else is done. Blank lines will also be squashed
-# out.
-
-# The lines between the "Do-first:" line and the "Things-to-keep:"
-# line are executed as a /bin/sh shell script before anything else is
-# done in this
-
-Do-first:
-
-# All files listed between the "Things-to-keep:" line and the
-# "Files-to-sed:" line will be kept. All other files will be removed.
-# Directories listed in this section will have their own Sanitize
-# called. Directories not listed will be removed in their entirety
-# with rm -rf.
-
-Things-to-keep:
-
-ChangeLog
-COPYING
-Makefile.in
-README.Cygnus
-acconfig.h
-armcopro.c
-armdefs.h
-armemu.c
-armemu.h
-armfpe.h
-arminit.c
-armopts.h
-armos.c
-armos.h
-armrdi.c
-armsupp.c
-armvirt.c
-bag.c
-bag.h
-communicate.c
-communicate.h
-config.in
-configure
-configure.in
-dbg_conf.h
-dbg_cp.h
-dbg_hif.h
-dbg_rdi.h
-gdbhost.c
-gdbhost.h
-kid.c
-main.c
-parent.c
-tconfig.in
-thumbemu.c
-wrapper.c
-
-Things-to-lose:
-
-
-Do-last:
-
-
-# End of file.
diff --git a/sim/arm/COPYING b/sim/arm/COPYING
deleted file mode 100644
index a43ea21..0000000
--- a/sim/arm/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
deleted file mode 100644
index 2391028..0000000
--- a/sim/arm/ChangeLog
+++ /dev/null
@@ -1,423 +0,0 @@
-Mon Sep 14 09:00:05 1998 Nick Clifton <nickc@cygnus.com>
-
- * tconfig.in: Define SIM_HAVE_BIENDIAN.
-
-Thu Aug 27 11:00:05 1998 Nick Clifton <nickc@cygnus.com>
-
- * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
- the same as either RdHi or RdLo.
-
-Thu Jul 2 10:24:35 1998 Nick Clifton <nickc@cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
- Set Reg[0] based on reason for for the exception.
-
-Thu Jun 4 15:22:03 1998 Jason Molenda (crash@bugshack.cygnus.com)
-
- * armos.c (SWIwrite0): New function.
- (WriteCommandLineTo): New function.
- (SWIopen): New function.
- (SWIread): New function.
- (SWIwrite): New function.
- (SWIflen): New function.
- (ARMul_OSHandleSWI): Call new functions instead of handling
- these here.
- (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
- (*): Reformat spacing to be a bit more GNUly.
- Most code taken from a patch by Anthony Thompson
- (athompso@cambridge.arm.com)
-
-Tue Jun 2 15:22:22 1998 Nick Clifton <nickc@cygnus.com>
-
- * armos.h: Add Angel SWI and its reason codes.
- * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
-
-Mon Jun 1 17:14:19 1998 Anthony Thompson (athompso@cambridge.arm.com)
-
- * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
- of ":tt" to catch stdin in addition to stdout.
- (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
- or success of lseek().
-
-Wed May 20 17:36:25 1998 Nick Clifton <nickc@cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
- to open stdout.
-
-Wed Apr 29 15:29:55 1998 Jeff Johnston <jjohnstn@cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
- SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
- seek from offset 0 and not to use R2 for whence since it is
- not passed as part of the SWI call.
-
-Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Sun Apr 26 15:20:26 1998 Tom Tromey <tromey@cygnus.com>
-
- * acconfig.h: New file.
- * configure.in: Reverted change of Apr 24; use sinclude again.
-
-Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Fri Apr 24 11:20:19 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure.in: Don't call sinclude.
-
-Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Tue Mar 10 09:26:38 1998 Nick Clifton <nickc@cygnus.com>
-
- * armopts.h: Remove definition of LITTLEND - it is not used.
-
-Tue Feb 17 12:35:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_store_register, sim_fetch_register): Pass in
- length parameter. Return -1.
-
-Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Tue Dec 9 11:30:48 1997 Nick Clifton <nickc@cygnus.com>
-
- * Makefile.in: Updated with changes from branch.
- * armdefs.h: ditto
- * armemu.c: ditto these changes
- * armemu.h: ditto add support for
- * armos.c: ditto the Thumb instruction
- * armsupp.c: ditto set and the new v4
- * armvirt.c: ditto architecture.
- * wrapper.c: ditto
- * thumbemu.c: New file from branch.
-
-
-Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Thu Oct 30 13:54:06 1997 Nick Clifton <nickc@cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
- from Tony Thompson at ARM: athompso@arm.com
-
- * wrapper.c (sim_create_inferior): Add code to create an execution
- environment. Patch from Tony Thompson at ARM: athompso@arm.com
-
-Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_load): Pass lma_p and sim_write args to
- sim_load_file.
-
-Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Tue Aug 26 10:37:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_kill): Delete.
- (sim_create_inferior): Add ABFD argument.
- (sim_load): Move setting of PC from here.
- (sim_create_inferior): To here.
-
-Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Mon Aug 25 15:35:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_open): Add ABFD argument.
-
-Tue May 20 10:13:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_open): Add callback argument.
- (sim_set_callbacks): Drop SIM_DESC argument.
-
-Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Fri Apr 18 13:32:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_stop): Stub sim_stop function.
-
-Thu Apr 17 18:33:01 1997 Fred Fish <fnf@cygnus.com>
-
- * arminit.c (ARMul_NewState): Preinitialize the state to
- all zero/NULL.
-
-Thu Apr 17 02:39:02 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * Makefile.in (SIM_OBJS): Add sim-load.o.
- * wrapper.c (sim_kind,myname): New static locals.
- (sim_open): Set sim_kind, myname.
- (sim_load): Call sim_load_file to do work. Set start address from bfd.
- (sim_create_inferior): Return SIM_RC. Delete start_address arg.
-
-Thu Apr 17 11:48:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wrapper.c (sim_trace): Update so that it matches prototype.
-
-Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
- * config.in: Ditto.
-
-Mon Apr 7 12:01:17 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * Makefile.in (armemu32.o): Replace $< with autoconf recommended
- $(srcdir)/....
- (armemu26.o): Ditto.
-
-Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * wrapper.c (sim_open): New arg `kind'.
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Apr 2 14:50:44 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * COPYING: Update FSF address.
-
-Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * configure: Regenerated to track ../common/aclocal.m4 changes.
-
-Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
-
- * configure: Re-generate.
-
-Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
-
- * configure: Regenerate to track ../common/aclocal.m4 changes.
-
-Thu Mar 13 12:38:56 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * wrapper.c (sim_open): Has result now.
- (sim_*): New SIM_DESC argument.
-
-Tue Feb 4 13:22:21 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
- COMMON_{PRE,POST}_CONFIG_FRAG instead.
- * configure.in: sinclude ../common/aclocal.m4.
- * configure: Regenerated.
-
-Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
-
- * configure configure.in Makefile.in: Update to new configure
- scheme which is more compatible with WinGDB builds.
- * configure.in: Improve comment on how to run autoconf.
- * configure: Re-run autoconf to get new ../common/aclocal.m4.
- * Makefile.in: Use autoconf substitution to install common
- makefile fragment.
-
-Wed Nov 20 01:05:10 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * run.c: Deleted, use one in ../common now.
- * Makefile.in: Delete everything that's been moved to
- ../common/Make-common.in.
- (SIM_OBJS): Define.
- * configure.in: Simplify using macros in ../common/aclocal.m4.
- * configure: Regenerated.
- * config.in: New file.
- * armos.c: #include config.h.
- * wrapper.c (mem_size): Value is in bytes now.
- (sim_callback): New global.
- (arm_sim_set_profile{,_size}): Delete.
- (arm_sim_set_mem_size): Rename to sim_size.
- (sim_do_command): Call printf_filtered via callback.
- (sim_set_callbacks): Record callback.
-
-Thu Oct 3 16:10:27 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
-
- * Makefile.in (mostlyclean): Remove config.log.
-
-Wed Jun 26 12:17:24 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
-
- * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
- INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
- (docdir): Removed.
- * configure.in (AC_PREREQ): autoconf 2.5 or higher.
- (AC_PROG_INSTALL): Added.
- * configure: Rebuilt.
-
-Wed Feb 21 12:14:31 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * configure: Regenerate with autoconf 2.7.
-
-Fri Dec 15 16:27:30 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * run.c (main): Use new bfd_big_endian macro.
-
-Mon Nov 20 17:40:38 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * run.c: Include "getopt.h".
- (verbose): Delete.
- (usage): Make static.
- (main): Call arm_sim_set_verbosity.
- Only load sections marked SEC_LOAD.
- * wrapper.c (mem_size, verbosity): New static global.
- (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
- (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
-
-Fri Nov 17 19:35:11 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * armdefs.h (ARMul_State): New member `verbose'.
- * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
- * run.c (verbose): Make global.
- * wrapper.c (init): Set state->verbose.
- (ARMul_ConsolePrint): Don't print anything if !verbose.
-
-Fri Oct 13 15:30:30 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * armos.c: #include dbg_rdi.h.
- (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
- * armos.h (SWI_Breakpoint): Define.
- * wrapper.c: #include armemu.h, dbg_rdi.h.
- (rc): Delete.
- (sim_resume): Use state->EndCondition to record stop state.
- Call FLUSHPIPE before returning.
- (sim_stop_reason): Determine reason from state->EndCondition.
-
-Fri Oct 13 15:04:05 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * wrapper.c (sim_set_callbacks): New.
-
-Thu Sep 28 19:45:56 1995 Doug Evans <dje@deneb.cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
- number of bytes not read/written (or -1).
-
-Wed Sep 20 13:35:54 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (maintainer-clean): New synonym for realclean.
-
-Fri Sep 8 14:27:20 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: Remove AC_PROG_INSTALL.
- * configure: Rebuild.
- * Makefile.in (INSTALL): Revert to using install.sh.
- (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
- (INSTALL_XFORM, INSTALL_XFORM1): Restore.
- (mostlyclean): Make the same as clean, not distclean.
- (clean): Remove config.log.
- (install): Don't install in $(tooldir).
-
-Thu Sep 7 12:00:17 1995 Doug Evans <dje@canuck.cygnus.com>
-
- (Try to) Update to new bfd autoconf scheme.
- * run.c: Don't include sysdep.h.
- * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
- (CC, CFLAGS, AR, RANLIB): Likewise.
- (HDEFINES, TDEFINES): Define.
- (CC_FOR_BUILD): Delete.
- (host_makefile_frag): Delete.
- (Makefile): Don't depend on frags.
- * configure.in (sysdep.h): Don't create symlink.
- (host_makefile_frag, frags): Deleted.
- (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
- * configure: Regenerated.
-
-Thu Aug 3 10:45:37 1995 Fred Fish <fnf@cygnus.com>
-
- * Update all FSF addresses except those in COPYING* files.
-
-Wed Jul 5 16:15:54 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * Makefile.in (clean): Remove run, libsim.a.
-
- * Makefile.in, configure.in: converted to autoconf.
- * configure: New file, generated with autconf 2.4.
-
- * arm.mt: Removed.
-
-Fri Jun 30 16:49:47 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * wrapper.c (sim_do_command): New function.
-
-Tue Jun 13 10:57:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * armos.c (ARMul_OSHandleSWI): New version to work with
- newlib simply.
-
-Thu Jun 8 14:37:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * run.c (main): Grab return value from right register.
-
-Wed May 24 14:37:31 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * New.
-
-
diff --git a/sim/arm/Makefile.in b/sim/arm/Makefile.in
deleted file mode 100644
index 2528be3..0000000
--- a/sim/arm/Makefile.in
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile template for Configure for the arm sim library.
-# Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-# Written by Cygnus Support.
-#
-# This program 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 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-SIM_OBJS = armcopro.o armemu26.o armemu32.o arminit.o armos.o armsupp.o \
- armvirt.o bag.o wrapper.o
-
-@COMMON_MAKEFILE_FRAG@
-
-armos.o: armos.c armdefs.h armos.h armfpe.h
-
-armcopro.o: armcopro.c armdefs.h
-
-armemu26.o: armemu.c armdefs.h armemu.h
- $(CC) -c $< -o armemu26.o $(ALL_CFLAGS)
-
-armemu32.o: armemu.c armdefs.h armemu.h
- $(CC) -c $< -o armemu32.o -DMODE32 $(ALL_CFLAGS)
-
-arminit.o: arminit.c armdefs.h armemu.h
-
-armrdi.o: armrdi.c armdefs.h armemu.h armos.h dbg_cp.h dbg_conf.h dbg_rdi.h \
- dbg_hif.h communicate.h
-
-armsupp.o: armsupp.c armdefs.h armemu.h
-
-bag.o: bag.c bag.h
diff --git a/sim/arm/README.Cygnus b/sim/arm/README.Cygnus
deleted file mode 100644
index adfb766..0000000
--- a/sim/arm/README.Cygnus
+++ /dev/null
@@ -1,27 +0,0 @@
-
-This directory contains the standard release of the ARMulator from
-Advanced RISC Machines, and was ftp'd from.
-
-ftp.cl.cam.ac.uk:/arm/gnu
-
-It likes to use TCP/IP between the simulator and the host, which is
-nice, but is a pain to use under anything non-unix.
-
-I've added created a new Makefile.in (the original in Makefile.orig)
-to build a version of the simulator without the TCP/IP stuff, and a
-wrapper.c to link directly into gdb and the run command.
-
-It should be possible (barring major changes in the layout of
-the armulator) to upgrade the simulator by copying all the files
-out of a release into this directory and renaming the Makefile.
-
-(Except that I changed armos.c to work more simply with our
-simulator rigs)
-
-Steve
-
-sac@cygnus.com
-
-Mon May 15 12:03:28 PDT 1995
-
-
diff --git a/sim/arm/acconfig.h b/sim/arm/acconfig.h
deleted file mode 100644
index f9b87a1..0000000
--- a/sim/arm/acconfig.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-/* Define to 1 if NLS is requested. */
-#undef ENABLE_NLS
-
-/* Define as 1 if you have catgets and don't want to use GNU gettext. */
-#undef HAVE_CATGETS
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-#undef HAVE_GETTEXT
-
-/* Define as 1 if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
diff --git a/sim/arm/armfpe.h b/sim/arm/armfpe.h
deleted file mode 100644
index 91c8f61..0000000
--- a/sim/arm/armfpe.h
+++ /dev/null
@@ -1,1351 +0,0 @@
-/* armfpe.h -- ARMulator pre-compiled FPE: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Array containing the Floating Point Emualtor (FPE). */
-
-
-unsigned long fpecode[] = {
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00070000,0x00000000,0xe92d400e,0xeb0013ef,
-0xe28f00d4,0xe1a00120,0xe38004ea,0xe3a01004,
-0xe5912000,0xe24f3028,0xe1500002,0x15832000,
-0x15810000,0xe3a00001,0xe8bd800e,0xe28d9040,
-0xe1a0a00e,0xe24f7048,0xe597b000,0xe20b74ee,
-0xe14f8000,0xe2088040,0xe388809b,0xe121f008,
-0xe35704ea,0x004bb007,0x01a0b10b,0x028bf00c,
-0xe20b733b,0xe3570339,0x01a0ba0b,0x01a0ba2b,
-0x059bb00c,0x0249800c,0x08880e00,0x0919ff80,
-0xe24f7094,0xe1a0f007,0xe14f8000,0xe2088040,
-0xe3888093,0xe121f008,0xe8dd7fff,0xe1a00000,
-0xe28dd03c,0xe8fd8000,0xe14f8000,0xe2088040,
-0xe3888093,0xe121f008,0xe8bd1fff,0xe28dd00c,
-0xe1b0f00e,0xe14f8000,0xe2088040,0xe3888093,
-0xe121f008,0xe28dd01c,0xe8bd1f80,0xe28dd00c,
-0xe1b0f00e,0x00002100,0xe90d4007,0xe14f0000,
-0xe24d1010,0xe10f2000,0xe20220c0,0xe3822003,
-0xe121f002,0xe169f000,0xe8914007,0xe24dd040,
-0xe8cd7fff,0xe24fcf6b,0xe58de03c,0xe24ea004,
-0xe14f9000,0xe20990c0,0xe3899003,0xe121f009,
-0xe4ba9008,0xe20987fe,0xe2197010,0xe0077aa9,
-0xe0288a07,0x02097402,0x00077509,0x00888007,
-0xe2097c0f,0xe3370c01,0x0209733e,0x0337033a,
-0x008ff8a8,0xea00009f,0xea0003b7,0xea0003b6,
-0xea000307,0xea000306,0xea0003b3,0xea0003b2,
-0xea000303,0xea000302,0xea0003c3,0xea0003c2,
-0xea00030d,0xea00030c,0xea0003bf,0xea0003be,
-0xea000309,0xea000308,0xea0003cf,0xea0003ce,
-0xea000314,0xea000313,0xea0003cb,0xea0003ca,
-0xea000310,0xea00030f,0xea0003db,0xea0003da,
-0xea00031a,0xea000319,0xea0003d7,0xea0003d6,
-0xea000316,0xea000315,0xea0003e7,0xea0003e6,
-0xea000321,0xea000320,0xea0003f7,0xea0003f6,
-0xea00032b,0xea00032a,0xea000449,0xea000448,
-0xea000335,0xea000334,0xea000459,0xea000458,
-0xea000340,0xea00033f,0xea000469,0xea000468,
-0xea00034b,0xea00034a,0xea000479,0xea000478,
-0xea000355,0xea000354,0xea000489,0xea000488,
-0xea00035f,0xea00035e,0xea000499,0xea000498,
-0xea00036a,0xea000369,0xea000ac8,0xea000ac5,
-0xea000c3d,0xea000c3a,0xea000b7b,0xea000b78,
-0xea000b79,0xea000b76,0xea000d34,0xea000d31,
-0xea000d08,0xea000d05,0xea000e34,0xea000e31,
-0xea000e1c,0xea000e19,0xea000ecf,0xea000ecc,
-0xea000c2d,0xea000c2a,0xea000d28,0xea000d25,
-0xea000cfc,0xea000cf9,0xea00123d,0xea00123a,
-0xeaffff55,0xeaffff54,0xeaffff53,0xeaffff52,
-0xeaffff51,0xeaffff50,0xea0007b8,0xea0007ec,
-0xea00073c,0xea00073b,0xea000806,0xea000805,
-0xea00080f,0xea00080e,0xeaffff47,0xeaffff46,
-0xeaffff45,0xeaffff44,0xeaffff43,0xeaffff42,
-0xeaffff41,0xeaffff40,0xeaffff3f,0xeaffff3e,
-0xea00086f,0xea00086e,0xeaffff3b,0xeaffff3a,
-0xea00086b,0xea00086a,0xeaffff37,0xeaffff36,
-0xea0007ff,0xea0007fe,0xeaffff33,0xeaffff32,
-0xea0007fb,0xea0007fa,0xea000914,0xea0008f3,
-0xea00091f,0xea0008fb,0xea00092b,0xea000904,
-0xea0009dc,0xea0009d9,0xea0009fd,0xea0009fa,
-0xea000ef8,0xea000ef5,0xea000ef6,0xea000ef3,
-0xea000f9d,0xea000f9a,0xea00111e,0xea00111b,
-0xea00111c,0xea001119,0xea00104e,0xea00104b,
-0xea001147,0xea001144,0xea001145,0xea001142,
-0xea00125a,0xea001257,0xeaffff13,0xeaffff12,
-0xeaffff11,0xeaffff10,0xe3190c0e,0x1affff0e,
-0xe3190c01,0x13190302,0x0affff0b,0xe28fb016,
-0xe79b7d27,0xe14fb000,0xe1a0be2b,0xe28bb010,
-0xe1170b37,0x0affff51,0xeaffff29,0x8000f0f0,
-0x80000f0f,0x8000cccc,0x80003333,0x8000ff00,
-0x800000ff,0x8000aaaa,0x80005555,0x8000cfcf,
-0x80003030,0x800055aa,0x8000aa55,0x80005faf,
-0x8000a050,0x80000000,0x8000ffff,0xe1300007,
-0x5a000002,0xea00004a,0xe3100102,0x1a000048,
-0xe053400b,0x4a00002d,0xe2745020,0xda00001b,
-0xe092243a,0x20822518,0x30922518,0xe0b11438,
-0xe1a0451a,0x2a000006,0xe0922fa4,0xe2b11000,
-0x31b0f00e,0xe3a01102,0xe2833001,0xe1a040a4,
-0xe1b0f00e,0xe2833001,0xe1a040a4,0xe1844f82,
-0xe1a020a2,0xe1822f81,0xe1a01061,0xe0922fa4,
-0xe2a11000,0xe1b0f00e,0xe1a04538,0xe0922fa4,
-0xe2b11000,0x23a01102,0x22833001,0xe1b0f00e,
-0xe2545040,0xaafffff7,0xe2444020,0xe2645020,
-0xe0922438,0xe2b11000,0xe1a04518,0xe184443a,
-0x2affffe7,0xe0922fa4,0xe2b11000,0x31b0f00e,
-0xe3a01102,0xe2833001,0xe1a040a4,0xe1b0f00e,
-0xe2644000,0xe1a0300b,0xe1a05001,0xe1a01008,
-0xe1a08005,0xe1a05002,0xe1a0200a,0xe1a0a005,
-0xe2745020,0xdaffffe5,0xe092243a,0x20822518,
-0x30922518,0xe0b11438,0xe1a0451a,0x2affffd0,
-0xe0922fa4,0xe2b11000,0x31b0f00e,0xe3a01102,
-0xe2833001,0xe1a040a4,0xe1b0f00e,0xe3100102,
-0x1affffb6,0xe053600b,0x4a00003d,0x01510008,
-0x0152000a,0x0a00004f,0x3a000039,0xe3a04000,
-0xe2765020,0xda00001a,0xe054451a,0xe0d2263a,
-0x30422518,0x20522518,0xe0d11638,0x5a000002,
-0xe0922fa4,0xe2a11000,0xe1b0f00e,0xe0944004,
-0xe0b22002,0xe0b11001,0xe2433001,0x5afffffa,
-0xe0922fa4,0xe2b11000,0x31b0f00e,0xe3a01102,
-0xe2833001,0xe1a040a4,0xe1b0f00e,0xe0544538,
-0x41b0f00e,0xe2d22000,0xe2d11000,0x41b0f00e,
-0xeaffffed,0xe3a04000,0xe2565040,0xaafffff6,
-0xe2466020,0xe2665020,0xe054751a,0xe0d4463a,
-0x30444518,0x20544518,0xe0d22638,0xe2d11000,
-0x5a000002,0xe0922fa4,0xe2a11000,0xe1b0f00e,
-0xe0977007,0xe0b44004,0xe0b22002,0xe0b11001,
-0xe2433001,0x5afffff9,0xe0922fa4,0xe2b11000,
-0x31b0f00e,0xe3a01102,0xe2833001,0xe1a040a4,
-0xe1b0f00e,0xe2666000,0xe2200102,0xe1a0300b,
-0xe1a05001,0xe1a01008,0xe1a08005,0xe1a05002,
-0xe1a0200a,0xe1a0a005,0xe3a04000,0xe2765020,
-0xdaffffd7,0xe054451a,0xe0d2263a,0x30422518,
-0x20522518,0xe0d11638,0x5affffbf,0xe0922fa4,
-0xe2a11000,0xe1b0f00e,0xe3a03000,0xe3a02000,
-0xe3a01000,0xe3a04000,0xe1b0f00e,0xe1a07000,
-0xe1a08001,0xe1a0a002,0xe1a0b003,0xe0200007,
-0xe1914002,0x1198400a,0x0afffff2,0xe3b054ff,
-0xe0a3300b,0xe185b425,0xe043392b,0xe92c4209,
-0xe1a04821,0xe1c1500b,0xe1a06822,0xe1c2700b,
-0xe1c8900b,0xe1a08828,0xe1cab00b,0xe1a0a82a,
-0xe0030b96,0xe0020b94,0xe0010994,0xe0000a97,
-0xe0933000,0xe0000a95,0xe0b22000,0xe0000895,
-0xe0b11000,0x33a0e000,0x23a0e001,0xe0000996,
-0xe0922000,0xe2b11000,0xe2aee000,0xe0000897,
-0xe0922000,0xe2b11000,0xe2aee000,0xe18ee803,
-0xe1a03823,0xe1833802,0xe1a02822,0xe1822801,
-0xe1a01821,0xe181180e,0xe3cee0ff,0xe0000b95,
-0xe00b0b97,0xe09eb00b,0xe0b33000,0xe0000896,
-0xe0b22000,0xe0000894,0xe0a11000,0xe0000a94,
-0xe00a0a96,0xe09aa003,0xe0b22000,0xe2a11000,
-0xe0000997,0xe09a4000,0xe0000995,0xe0b22000,
-0xe2b11000,0xe8bc4209,0x4a000005,0xe09bb00b,
-0xe0b44004,0xe0b22002,0xe0b11001,0xe2433001,
-0x5afffff9,0xe0922fa4,0xe2b11000,0x31b0f00e,
-0xe3a01102,0xe2833001,0xe1a040a4,0xe1b0f00e,
-0xe1a07000,0xe1a08001,0xe1a0a002,0xe1a0b003,
-0xe3a00000,0xe3a01102,0xe3b02100,0xe2e23901,
-0xe0200007,0xe1914002,0x1198400a,0x0affff9d,
-0xe043300b,0xe2833901,0xe2433001,0xe3a0b000,
-0xe052500a,0xe0d14008,0x23a01003,0x2a00000c,
-0xe1a05002,0xe1a04001,0xe3a01001,0xe2433001,
-0xe0955005,0xe0b44004,0xe2abb000,0xe055700a,
-0xe0d46008,0x31b0b0ab,0x21a05007,0x21a04006,
-0xe0a11001,0xe0955005,0xe0b44004,0xe2abb000,
-0xe055700a,0xe0d46008,0x31b0b0ab,0x21a05007,
-0x21a04006,0xe0a11001,0xe0955005,0xe0b44004,
-0xe2abb000,0xe055700a,0xe0d46008,0x31b0b0ab,
-0x21a05007,0x21a04006,0xe0a11001,0xe0955005,
-0xe0b44004,0xe2abb000,0xe055700a,0xe0d46008,
-0x31b0b0ab,0x21a05007,0x21a04006,0xe0b11001,
-0x3affffda,0xe1942005,0x01b0f00e,0xe3a02001,
-0xe0955005,0xe0b44004,0xe2abb000,0xe055700a,
-0xe0d46008,0x31b0b0ab,0x21a05007,0x21a04006,
-0xe0a22002,0xe0955005,0xe0b44004,0xe2abb000,
-0xe055700a,0xe0d46008,0x31b0b0ab,0x21a05007,
-0x21a04006,0xe0a22002,0xe0955005,0xe0b44004,
-0xe2abb000,0xe055700a,0xe0d46008,0x31b0b0ab,
-0x21a05007,0x21a04006,0xe0a22002,0xe0955005,
-0xe0b44004,0xe2abb000,0xe055700a,0xe0d46008,
-0x31b0b0ab,0x21a05007,0x21a04006,0xe0b22002,
-0x3affffda,0xe0955005,0xe0b44004,0x2a000001,
-0xe1540008,0x0155000a,0xe2b22000,0xe2b11000,
-0x31b0f00e,0xe2a33000,0xe3a01102,0xe1b0f00e,
-0xe1b04883,0x0affff37,0xe2833901,0xe2433001,
-0xe1b030a3,0xe1a05002,0x32414102,0x22414101,
-0x33a07201,0x23a07202,0xe3a01102,0xe0955005,
-0xe0b44004,0xe0216007,0x31540006,0x20444006,
-0x20211087,0xe1b070e7,0x5afffff7,0xe1942005,
-0x01b0f00e,0xe3a02000,0xe0955005,0xe0b44004,
-0xe0a00000,0xe0226007,0xe055a006,0xe0d48001,
-0x31b000a0,0x21a0500a,0x21a04008,0x20222087,
-0x20211fa7,0xe1b070a7,0x1afffff2,0xe0955005,
-0xe0b44004,0xe0b70007,0xe0d5a002,0xe0d48001,
-0x31b000a0,0x21a0500a,0x21a04008,0x22222001,
-0x23a07102,0xe3a00000,0xe0977007,0xe0b55005,
-0xe0b44004,0x2a000002,0xe1540001,0x01550002,
-0x03570101,0xe2b22000,0xe2b11000,0xe2a33000,
-0x23a01102,0xe1b0f00e,0xe1b07004,0x42644000,
-0xe3a0b901,0xe3a0a000,0xe1a08004,0xe1b04828,
-0x01a08808,0x128bb010,0xe1b04c28,0x01a08408,
-0x128bb008,0xe1b04e28,0x01a08208,0x128bb004,
-0xe1b04f28,0x01a08108,0x128bb002,0xe1b04fa8,
-0x01a08088,0x024bb001,0xe1b0f00e,0xe1a07000,
-0xe1a0b003,0xe24b40fe,0xe2544c3f,0xda000011,
-0xe2745020,0x4a000003,0xe3a0a000,0xe1a08531,
-0xe1a08518,0xe1b0f00e,0xe1a08001,0xe1a0a002,
-0xe2745040,0x41b0f00e,0xe1a0a53a,0xe1a0a51a,
-0xe1b0f00e,0x03a04001,0x03a08102,0xe3a0a000,
-0x028bb001,0x01b0f00e,0xe3a04000,0xe3a08000,
-0xe3a0a000,0xe3a0b000,0xe1b0f00e,0xe1a07000,
-0xe1a0b003,0xe24b40fe,0xe2544c3f,0xdafffff0,
-0xe2745020,0x4a000007,0xe3a0a000,0xe1b04531,
-0xe2a44000,0xe1b08514,0x31b0f00e,0xe1a08068,
-0xe28bb001,0xe1b0f00e,0xe1a08001,0xe1a0a002,
-0xe2745040,0xe3e04000,0x41b0f00e,0xe1b0a53a,
-0xe2aaa000,0xe1b0a51a,0xe2b88000,0x31b0f00e,
-0xe1a0a0aa,0xe18aaf88,0xe1a08068,0xe28bb001,
-0xe1b0f00e,0xe38ee101,0xe24340fe,0xe2544c3f,
-0xda000032,0xe2745020,0x4a000018,0xe1a08411,
-0x01a08002,0x11a0a002,0x03a0a000,0xe3a02000,
-0xe1a01531,0xe2194060,0x1a000007,0xe19aa088,
-0x00088f81,0xe0911fa8,0x31b01511,0x31b0f00e,
-0xe1a01061,0xe2833001,0xe1b0f00e,0xe3540060,
-0x1198a00a,0x0a000003,0xe0304d04,0x5a000001,
-0xe2911001,0xeafffff3,0xe1a01511,0xe1b0f00e,
-0xe2745040,0xd1b0f00e,0xe2444020,0xe1a08412,
-0xe1b02532,0xe2194060,0x1a00000a,0xe1b0a088,
-0x00088f82,0xe0822fa8,0xe1b02512,0xe2b11000,
-0x31b0f00e,0xe1a020a2,0xe1822f81,0xe1a01061,
-0xe2833001,0xe1b0f00e,0xe3540060,0x13580000,
-0x0afffff4,0xe0304d04,0x42822001,0xeafffff1,
-0x0a000011,0xe2194060,0x1a000006,0xe1918002,
-0x01b0f00e,0xe3a01000,0xe3a02000,0xe3a03000,
-0xe3a04008,0xe1a0f00e,0xe1918002,0x13540060,
-0x0afffff5,0xe0304d04,0x5afffff3,0xe3a01102,
-0xe3b02100,0xe2e23901,0xe1b0f00e,0xe2194060,
-0x1afffff4,0xe1924081,0x1afffff7,0xeaffffea,
-0xe1a04000,0xe1a00007,0xe1a07004,0xe1a04001,
-0xe1a01008,0xe1a08004,0xe1a04002,0xe1a0200a,
-0xe1a0a004,0xe1a04003,0xe1a0300b,0xe1a0b004,
-0xe1b0f00e,0xe209ba07,0xe08c542b,0xe209780f,
-0xe79da727,0xe21980ff,0xe04a8108,0x178d8727,
-0xe2199902,0xe3899901,0xe1a09789,0xe4ba6004,
-0x14ba7004,0xe88503c0,0xeafffcae,0xe209ba07,
-0xe08c542b,0xe209780f,0xe79da727,0xe21980ff,
-0xe04a8108,0x178d8727,0xe2199902,0xe3899905,
-0xe1a09789,0xe4ba6004,0xe4ba7004,0xe4ba8000,
-0xe88503c0,0xeafffc9f,0xe209ba07,0xe08c542b,
-0xe209780f,0xe79da727,0xe21980ff,0xe08a8108,
-0x178d8727,0xe2199902,0xe3899901,0xe1a09789,
-0xe4ba6004,0x14ba7004,0xe88503c0,0xeafffc91,
-0xe209ba07,0xe08c542b,0xe209780f,0xe79da727,
-0xe21980ff,0xe08a8108,0x178d8727,0xe2199902,
-0xe3899905,0xe1a09789,0xe4ba6004,0xe4ba7004,
-0xe4ba8000,0xe88503c0,0xeafffc82,0xe209ba07,
-0xe08cc42b,0xe209780f,0xe337080f,0x179da727,
-0xe21980ff,0xe04aa108,0xe2199902,0xe3899901,
-0xe1a0b789,0xe4ba8004,0x14ba9004,0xe88c0f00,
-0xeafffc83,0xe209ba07,0xe08c542b,0xe209780f,
-0xe79da727,0xe21980ff,0xe04aa108,0x178da727,
-0xe2199902,0xe3899901,0xe1a09789,0xe4ba6004,
-0x14ba7004,0xe88503c0,0xeafffc66,0xe209ba07,
-0xe08cc42b,0xe209780f,0xe337080f,0x179da727,
-0xe21980ff,0xe04aa108,0xe2199902,0xe3899905,
-0xe1a0b789,0xe4ba8004,0xe4ba9004,0xe4baa000,
-0xe88c0f00,0xeafffc66,0xe209ba07,0xe08c542b,
-0xe209780f,0xe79da727,0xe21980ff,0xe04aa108,
-0x178da727,0xe2199902,0xe3899905,0xe1a09789,
-0xe4ba6004,0xe4ba7004,0xe4ba8000,0xe88503c0,
-0xeafffc48,0xe209ba07,0xe08cc42b,0xe209780f,
-0xe337080f,0x179da727,0xe21980ff,0xe08aa108,
-0xe2199902,0xe3899901,0xe1a0b789,0xe4ba8004,
-0x14ba9004,0xe88c0f00,0xeafffc49,0xe209ba07,
-0xe08c542b,0xe209780f,0xe79da727,0xe21980ff,
-0xe08aa108,0x178da727,0xe2199902,0xe3899901,
-0xe1a09789,0xe4ba6004,0x14ba7004,0xe88503c0,
-0xeafffc2c,0xe209ba07,0xe08cc42b,0xe209780f,
-0xe337080f,0x179da727,0xe21980ff,0xe08aa108,
-0xe2199902,0xe3899905,0xe1a0b789,0xe4ba8004,
-0xe4ba9004,0xe4baa000,0xe88c0f00,0xeafffc2c,
-0xe209ba07,0xe08c542b,0xe209780f,0xe79da727,
-0xe21980ff,0xe08aa108,0x178da727,0xe2199902,
-0xe3899905,0xe1a09789,0xe4ba6004,0xe4ba7004,
-0xe4ba8000,0xe88503c0,0xeafffc0e,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844001,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f5f6f,0x1085f104,0xe209780f,0xe79da727,
-0xe21980ff,0xe04a8108,0x178d8727,0xe4aa0004,
-0xe3130101,0x14aa1000,0xeafffbfa,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844005,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f5f5b,0x1085f104,0xe209780f,0xe79da727,
-0xe21980ff,0xe04a8108,0x178d8727,0xe4aa0004,
-0xe4aa1004,0xe4aa2000,0xeafffbe6,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844001,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f5f47,0x1085f104,0xe209780f,0xe79da727,
-0xe21980ff,0xe08a8108,0x178d8727,0xe4aa0004,
-0xe3130101,0x14aa1000,0xeafffbd2,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844005,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f50cc,0x1085f104,0xe209780f,0xe79da727,
-0xe21980ff,0xe08a8108,0x178d8727,0xe4aa0004,
-0xe4aa1004,0xe4aa2000,0xeafffbbe,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844001,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f507c,0x1085f104,0xe209780f,0xe337080f,
-0x179da727,0xe21980ff,0xe04aa108,0xe4aa0004,
-0xe3130101,0x14aa1000,0xeafffbb2,0xe2095a07,
-0xe08c5425,0xe895000f,0xe3a04002,0xe0044729,
-0xe3844001,0xe1340ea3,0xe1844d23,0xe28f7004,
-0xe28f502c,0x1085f104,0xe209780f,0xe79da727,
-0xe21980ff,0xe04aa108,0x178da727,0xe4aa0004,
-0xe3130101,0x14aa1000,0xeafffb96,0xe08ff104,
-0xeb00036b,0xe1a0f007,0xea0000b6,0xeb000368,
-0xea0000ea,0xeb000366,0xea000123,0xeb000364,
-0xea0001ca,0xea000124,0xe1a0f007,0xeb000360,
-0xea000134,0xeb00035e,0xea00014b,0xeb00035c,
-0xea0001bd,0xeb00035a,0xeb000359,0xeb000358,
-0xeb000357,0xeb000356,0xeb000355,0xeb000354,
-0xeb000353,0xea000156,0xea00016f,0xeb000350,
-0xe1a0f007,0xeb00034e,0xea00018c,0xeb00034c,
-0xea0001ad,0xeb00034a,0xeb000349,0xeb000348,
-0xeb000347,0xeb000346,0xeb000345,0xeb000344,
-0xeb000343,0xea00019f,0xea00008d,0xeb000340,
-0xea0000c1,0xeb00033e,0xe1a0f007,0xeb00033c,
-0xea00019d,0xeb00033a,0xeb000339,0xeb000338,
-0xeb000337,0xeb000336,0xeb000335,0xeb000334,
-0xeb000333,0xea00024f,0xea00024e,0xeb000330,
-0xea00024c,0xeb00032e,0xea00024a,0xeb00032c,
-0xe1a0f007,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844005,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5f4b,0x1085f104,
-0xe209780f,0xe337080f,0x179da727,0xe21980ff,
-0xe04aa108,0xe4aa0004,0xe4aa1004,0xe4aa2004,
-0xeafffb48,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844005,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5f5f,0x1085f104,
-0xe209780f,0xe79da727,0xe21980ff,0xe04aa108,
-0x178da727,0xe4aa0004,0xe4aa1004,0xe4aa2000,
-0xeafffb2c,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844001,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5f73,0x1085f104,
-0xe209780f,0xe337080f,0x179da727,0xe21980ff,
-0xe08aa108,0xe4aa0004,0xe3130101,0x14aa1000,
-0xeafffb20,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844001,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5f87,0x1085f104,
-0xe209780f,0xe79da727,0xe21980ff,0xe08aa108,
-0x178da727,0xe4aa0004,0xe3130101,0x14aa1000,
-0xeafffb04,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844005,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5f9b,0x1085f104,
-0xe209780f,0xe337080f,0x179da727,0xe21980ff,
-0xe08aa108,0xe4aa0004,0xe4aa1004,0xe4aa2004,
-0xeafffaf8,0xe2095a07,0xe08c5425,0xe895000f,
-0xe3a04002,0xe0044729,0xe3844005,0xe1340ea3,
-0xe1844d23,0xe28f7004,0xe24f5faf,0x1085f104,
-0xe209780f,0xe79da727,0xe21980ff,0xe08aa108,
-0x178da727,0xe4aa0004,0xe4aa1004,0xe4aa2000,
-0xeafffadc,0xe3c03102,0xe2000102,0xe1b05883,
-0x12955802,0x0a00000e,0xe3320000,0x01922c81,
-0xe2012080,0x000220a1,0xe0911002,0x31a01081,
-0xe2a33000,0xe2533dfe,0x9a00001c,0xe35300ff,
-0x31800b83,0x318004a1,0x33a03202,0x31a0f007,
-0xea000008,0xe1b04c03,0xe18000a4,0xe3a03202,
-0x13c11102,0x11800421,0x11a0f007,0xe1922001,
-0x01a0f007,0xea000015,0xe380047f,0xe3800502,
-0xe3a03202,0xe3a04004,0xe59c5080,0xe1855004,
-0xe58c5080,0xe1140825,0x11a00004,0x1a000e8a,
-0xe3540004,0x11a0f007,0xe3a04010,0xeafffff5,
-0xe3730017,0xda000005,0xe1a01521,0xe3811501,
-0xe2633000,0xe1800331,0xe3a03202,0xe1a0f007,
-0xe3a03202,0xe3a04008,0xeaffffea,0xe3c03102,
-0xe2000102,0xe1b05883,0x12955802,0x0a000012,
-0xe1b04b02,0xe2024b01,0x000440a2,0xe0922004,
-0xe2b11000,0xe2a33000,0xe0922002,0xe0a11001,
-0xe2533b0f,0x9a000019,0xe2834001,0xe3540b02,
-0x31800a03,0x31800621,0x31a01a01,0x31811622,
-0x33a03206,0x31a0f007,0xea00000a,0xe1b04a83,
-0xe18000a4,0xe3a03206,0x13c11102,0x118005a1,
-0x11a01a81,0x118115a2,0x11a0f007,0xe1922001,
-0x01a0f007,0xea000014,0xe380047f,0xe380060f,
-0xe3a01000,0xe3a03206,0xe3a04004,0xeaffffc1,
-0xe3730034,0xda00000c,0xe1a026a2,0xe1822981,
-0xe1a016a1,0xe3811702,0xe2633000,0xe2534020,
-0x21a01431,0x32634020,0x31800331,0x31a01411,
-0x31811332,0xe3a03206,0xe1a0f007,0xe3a01000,
-0xe3a03206,0xe3a04008,0xeaffffae,0xe2000102,
-0xe1800003,0xe3a0320a,0xe1a0f007,0xe3a02000,
-0xe1a03080,0xe1b03c23,0x133300ff,0x11a01400,
-0x13811102,0x12833dfe,0x11a0f007,0xe1933383,
-0x11a01400,0x13c11102,0x11a0f007,0xe1b01480,
-0x01a0f007,0xe3a03dfe,0x52433001,0x51b01081,
-0x5afffffc,0xe1a0f007,0xe1a01e80,0xe3c03102,
-0xe2000102,0xe18001a3,0xe3a03206,0xe21026ff,
-0x133206ff,0x1280030e,0x11a0f007,0xe1800182,
-0xe3320000,0x11a0f007,0xe1912600,0x01a0f007,
-0xe1a01a21,0xe1911600,0xe2000102,0xe380030e,
-0x52400601,0x51b01081,0x5afffffc,0xe1a01081,
-0xe1800621,0xe1a01a01,0xe1a0f007,0xe3a02000,
-0xe1a03080,0xe1b03c23,0x133300ff,0xe1a01400,
-0x13811102,0x12833dfe,0xe2000102,0xe1800003,
-0xe3a0320a,0x11a0f007,0xe1800380,0xe31000ff,
-0x13c11102,0x11a0f007,0xe1b01081,0x01a0f007,
-0xe3800dfe,0x52400001,0x51b01081,0x5afffffc,
-0xe1a0f007,0xe1a03080,0xe1b03aa3,0x12834001,
-0x13340b02,0xe1a02581,0xe1a01aa1,0xe1811580,
-0x13811102,0x12833b0f,0x11a0f007,0xe1933203,
-0x11a0f007,0xe0922002,0xe0a11001,0xe1924001,
-0x01a0f007,0xe3a03b0f,0xe1b01001,0x52433001,
-0xe3a04000,0x51844fa2,0x51844081,0x51a02082,
-0x51b01004,0x5afffff8,0xe1a0f007,0xe1a03080,
-0xe1b03aa3,0x12834001,0x13340b02,0x0a00000f,
-0xe1b04201,0xe1a01a21,0xe1811600,0xe2014c01,
-0x000440a1,0xe0911004,0xe2a33000,0xe2000102,
-0xe2533d0e,0x9affff49,0xe35300ff,0x31800b83,
-0x318004a1,0x33a03202,0x31a0f007,0xeaffff35,
-0xe1812600,0xe1a01a21,0xe1811600,0xe2000102,
-0xe1b04c03,0xe18000a4,0xe3a03202,0x118004a1,
-0x11a0f007,0xe3320000,0x01a0f007,0xeaffff3f,
-0xe1a03080,0xe1b03aa3,0x12834001,0x13340b02,
-0xe1a02581,0xe1a01aa1,0xe1811580,0x13811102,
-0x12833b0f,0xe2000102,0xe1800003,0xe3a0320a,
-0x11a0f007,0xe1800200,0xe31000ff,0x11a0f007,
-0xe0922002,0xe0a11001,0xe1924001,0x01a0f007,
-0xe3800b0f,0xe1b01001,0x52400001,0xe3a04000,
-0x51844fa2,0x51844081,0x51a02082,0x51b01004,
-0x5afffff8,0xe1a0f007,0xe3c03102,0xe1a0f007,
-0x9a209a84,0xfbcff799,0x00003ffd,0xe92c0080,
-0xe28f7004,0xe3c44007,0xeafffe2b,0xe8bc0080,
-0xe1b05883,0x12955802,0x0a000099,0xe3a05901,
-0xe2455001,0xe1530005,0x3a000006,0xe2855003,
-0xe1530005,0x0351020a,0x33a04000,0x33a05000,
-0x392c4ff0,0x3a000021,0xe92c4fcf,0xe3a00902,
-0xe2404003,0xe0644083,0xebfffc46,0xe24bb001,
-0xe24f4078,0xe894000e,0xebfffb4b,0xe3a04901,
-0xe2444002,0xe0434004,0xe2644020,0xe1a09431,
-0xe1510419,0x03520000,0x1210b102,0x12899001,
-0xe200b102,0xe8bc000f,0xe92c0a00,0xeb0000bf,
-0xe59c4004,0xe1b04004,0x5bfffb90,0x4bfffb3a,
-0xe3a05901,0xe2455001,0xe1530005,0x3a000051,
-0xe2855003,0xe1530005,0x0351020a,0x2a000040,
-0xe3a04901,0xe2844002,0xe0544003,0xe2645020,
-0xe1a03512,0x11a02432,0x11822511,0x11a01431,
-0xe1a04e21,0xe3a07003,0xe3c1120f,0xe0933003,
-0xe0b22002,0xe0a11001,0xe1a08101,0xe1888f22,
-0xe1a0a102,0xe18aaf23,0xe092200a,0xe0a11008,
-0xe2577001,0x11a04204,0x11844e21,0x1afffff1,
-0xe1915002,0x03a06000,0x0a000019,0xe3a0700f,
-0xe1a05205,0xe1855e26,0xe1a06206,0xe1866e21,
-0xe3c1120f,0xe0922002,0xe0a11001,0xe1a08101,
-0xe1888f22,0xe0922102,0xe0a11008,0xe2577001,
-0x1afffff2,0xe1a05205,0xe1855e26,0xe1a06206,
-0xe1866e21,0xe1b01281,0x3a000005,0xe2866001,
-0xe1911002,0x03c66001,0xe206100f,0xe351000a,
-0x02466001,0xe8bc0008,0xeb000023,0xe2000102,
-0xe1800221,0xe8bc0080,0xe18000a7,0xe1800004,
-0xe1a01005,0xe1a02006,0xe3a0320e,0xe8bc4fc0,
-0xe1a0f007,0xe8bc0030,0xe3150102,0x12644000,
-0xe2844001,0xe2145102,0x12644000,0xe92c0030,
-0xe3a07901,0xe3a0820a,0xe3a0a000,0xe287b002,
-0xebfffb3a,0xeaffffb1,0xe8bc0030,0xe3150102,
-0x12644000,0xe2444001,0xe2145102,0x12644000,
-0xe92c0030,0xe3a07901,0xe3a0820a,0xe3a0a000,
-0xe287b002,0xebfffad8,0xeaffffa4,0xe1a02003,
-0xe3a03010,0xe0922002,0x3352020a,0x2242220a,
-0xe0b33003,0x3afffffa,0xe1a01622,0xe3530064,
-0xa2433064,0xa2811201,0xaafffffb,0xe353000a,
-0xa243300a,0xa2811401,0xaafffffb,0xe1811a03,
-0xe1b0f00e,0xe3530000,0x1a00000a,0xe1915002,
-0x03a0320e,0x03a00000,0x01a0f007,0xe3110102,
-0x1affff5d,0xe0922002,0xe0b11001,0xe2433001,
-0x5afffffb,0xeaffff58,0xe2000102,0xe1800603,
-0xe3800302,0xe18009a1,0xe1a01681,0xe18119a2,
-0xe1a02682,0xe3a0320e,0xe1a0f007,0x9392ee8e,
-0x921d5d07,0x00003fc3,0xe1915002,0x01b05a00,
-0x1200540f,0x1355040f,0x0a0000ac,0xe92c4fd0,
-0xe3a07000,0xe3a06000,0xe1a04a00,0xe3a05003,
-0xeb00009a,0xe1a04001,0xe3a05008,0xeb000097,
-0xe1a04002,0xe3a05008,0xeb000094,0xe1a02007,
-0xe1b01006,0xe3a0303e,0xe2833901,0x4a000003,
-0xe0922002,0xe0b11001,0xe2433001,0x5afffffb,
-0xe3a06000,0xe3a07000,0xe1a04200,0xe3a05004,
-0xeb000086,0xe1a09007,0xeb00000c,0xe3100101,
-0x1bfffade,0x0bfffa88,0xe24f70a4,0xe8970d00,
-0xebfffa85,0xe8bc4fd0,0xe2935001,0xda000090,
-0xe1b057a5,0x1a0000a7,0xe2044007,0xeafffd46,
-0xe3590014,0xd28f8084,0xd0889209,0xd8990d80,
-0xd1b0f00e,0xe92c400f,0xe3a01102,0xe3a02000,
-0xe3a00901,0xe2403001,0xe3590000,0x0a000011,
-0xe92c000f,0xe2833003,0xe3b0120a,0x3bfffa6a,
-0xe1b090a9,0x3afffffc,0xe8bc0d80,0x192c000f,
-0xebfffa69,0x0a000007,0xe8bc0d80,0xe92c000f,
-0xe1a00007,0xe1a01008,0xe1a0200a,0xe1a0300b,
-0xebfffa61,0xeafffff1,0xe1a07000,0xe1a08001,
-0xe1a0a002,0xe1a0b003,0xe8bc400f,0xe1b0f00e,
-0x00000000,0x80000000,0x00000000,0x00003fff,
-0x00000000,0xa0000000,0x00000000,0x00004002,
-0x00000000,0xc8000000,0x00000000,0x00004005,
-0x00000000,0xfa000000,0x00000000,0x00004008,
-0x00000000,0x9c400000,0x00000000,0x0000400c,
-0x00000000,0xc3500000,0x00000000,0x0000400f,
-0x00000000,0xf4240000,0x00000000,0x00004012,
-0x00000000,0x98968000,0x00000000,0x00004016,
-0x00000000,0xbebc2000,0x00000000,0x00004019,
-0x00000000,0xee6b2800,0x00000000,0x0000401c,
-0x00000000,0x9502f900,0x00000000,0x00004020,
-0x00000000,0xba43b740,0x00000000,0x00004023,
-0x00000000,0xe8d4a510,0x00000000,0x00004026,
-0x00000000,0x9184e72a,0x00000000,0x0000402a,
-0x00000000,0xb5e620f4,0x80000000,0x0000402d,
-0x00000000,0xe35fa931,0xa0000000,0x00004030,
-0x00000000,0x8e1bc9bf,0x04000000,0x00004034,
-0x00000000,0xb1a2bc2e,0xc5000000,0x00004037,
-0x00000000,0xde0b6b3a,0x76400000,0x0000403a,
-0x00000000,0x8ac72304,0x89e80000,0x0000403e,
-0x00000000,0xad78ebc5,0xac620000,0x00004041,
-0xe0977007,0xe0a66006,0xe0978107,0xe0a6af27,
-0xe08a6106,0xe1a07008,0xe0977e24,0xe2a66000,
-0xe1a04204,0xe2555001,0x1afffff4,0xe1b0f00e,
-0xe1a03280,0xe1a038a3,0xe1a026a2,0xe1822981,
-0xe1a016a1,0xe1811980,0xe3c11102,0xe2044007,
-0xeafffcb9,0xe2144007,0x13540005,0x0a000003,
-0xe2000102,0xe3540001,0x0afffda0,0xeafffdda,
-0xe2633000,0xe3530040,0xaa000008,0xe2735020,
-0x42435020,0x41a02531,0x51a02332,0x51822511,
-0xe1a01331,0xe3a03000,0xe2044007,0xeafffca6,
-0xe2000102,0xe3a01000,0xe3a02000,0xe1a03e84,
-0xe3a04008,0xeafffd7b,0xe2144007,0x0a000003,
-0xe3a00000,0xe3540003,0x0afffdae,0xbafffd71,
-0xe3a01000,0xe3b02100,0xe2e23902,0xe2000102,
-0xe1800003,0xe3540000,0x13a0320a,0xe3a04004,
-0xeafffd6c,0xeafffffe,0xe209aa0f,0xe3190008,
-0x1a000069,0xe2095007,0xe08c5205,0xe895000f,
-0xe1b04d23,0xe28f7000,0x1afffc87,0xe1b04883,
-0x12944802,0x0a00002b,0x5a000039,0xe354083e,
-0xe20448ff,0x4a000049,0xe1a048a4,0xe2199060,
-0x1a00000e,0xe2846002,0xe1922611,0xe3a02101,
-0xe0012432,0x000220a1,0xe264401f,0xe1a01431,
-0xe3320000,0x12811001,0xe3100102,0x12611000,
-0xe0312000,0x4a000049,0xe78d152a,0xeafff805,
-0xe3590060,0x1a000005,0xe264401f,0xe1a01431,
-0xe3100102,0x12611000,0xe78d152a,0xeafff7fd,
-0xe0307d09,0x5afffff7,0xe2846001,0xe1922611,
-0x0afffff4,0xe264401f,0xe1a01431,0xe2811001,
-0xe3100102,0x12611000,0xe0312000,0x4a000033,
-0xe78d152a,0xeafff7ef,0xe31300ff,0x1a000003,
-0xe1921001,0x1a000006,0xe78d152a,0xeafff7e9,
-0xe1921001,0x0a000029,0xe28f70bc,0xe3a04001,
-0xeafffd28,0xe02970a9,0xe3170020,0x0a000010,
-0xea000003,0xe2199060,0x0a000008,0xe3590060,
-0x0a00000b,0xe0307d09,0x5a000009,0xe3a01001,
-0xe3100102,0x12611000,0xe78d152a,0xeafff7d5,
-0xe2947802,0x5a000002,0xe3510102,0x03520000,
-0x8afffff5,0xe3a01000,0xe78d152a,0xea000016,
-0xe354083e,0x03510102,0xe2000102,0x03500102,
-0x1a00000a,0xe3520000,0x0affffae,0xe2199060,
-0x0a000004,0xe3590060,0x0affffaa,0xe0307d09,
-0x5affffa8,0xea000001,0xe3520102,0x9affffa5,
-0xe28f7014,0xe3a04001,0xeafffcfe,0xe2091007,
-0xe3510006,0xaa000001,0xe78d152a,0xeafff7b5,
-0xe2811003,0xe351000a,0x13a01001,0xe2099060,
-0x13590020,0x1affffde,0xe78d152a,0xeafff7ad,
-0xe3190080,0x1a000034,0xe2097a0f,0xe79d8527,
-0xe209b807,0xe08cb62b,0xe1b07008,0x42688000,
-0xe3a0a09e,0xe28aadfe,0x03a0a01f,0xe1b0c828,
-0x01a08808,0x024aa010,0xe1b0cc28,0x01a08408,
-0x024aa008,0xe1b0ce28,0x01a08208,0x024aa004,
-0xe1b0cf28,0x01a08108,0x024aa002,0xe1b0cfa8,
-0x01a08088,0x024aa001,0xe1b0cc08,0x1a000002,
-0xe3a09000,0xe88b0780,0xeafff79d,0xe2199060,
-0x1a000008,0xe1b0c08c,0xe208c080,0x000cc0a8,
-0xe098800c,0xe2aaa000,0x23a08102,0xe3c880ff,
-0xe88b0780,0xeafff792,0xe2399060,0x0afffffa,
-0xe027cc89,0xe20cc102,0xe0988bac,0xe2aaa000,
-0x23a08102,0xe3a09000,0xe3c880ff,0xe88b0780,
-0xeafff787,0xe3190080,0x1afff75f,0xe2097a0f,
-0xe79d8527,0xe209b807,0xe08cb62b,0xe1b07008,
-0x42688000,0xe3a0a09e,0xe28aadfe,0x03a0a01f,
-0xe1b09828,0x01a08808,0x024aa010,0xe1b09c28,
-0x01a08408,0x024aa008,0xe1b09e28,0x01a08208,
-0x024aa004,0xe1b09f28,0x01a08108,0x024aa002,
-0xe1b09fa8,0x01a08088,0x024aa001,0xe3a09000,
-0xe88b0780,0xeafff76a,0xe2097a0f,0xe79da527,
-0xe3ca801f,0xe3d8881f,0x1a000002,0xe38aa000,
-0xe58ca080,0xeafff762,0xe24f700c,0xe3a04001,
-0xeafffc94,0xe2097a0f,0xe59ca080,0xe78da527,
-0xeafff74c,0xe1b08e09,0x4a000037,0xe08c8c28,
-0xe898000f,0xe1b04d23,0xe28f7000,0x1afffbae,
-0xe2097807,0xe1a0b003,0xe1a0a002,0xe0208509,
-0xe1a09001,0xe08cc627,0xe89c000f,0xe1b04d23,
-0xe28f7000,0x1afffba4,0x188c000f,0xe3a04803,
-0xe0945883,0x3094588b,0x2a000015,0xe0305008,
-0x4a000009,0xe153000b,0x01510009,0x0152000a,
-0xe10f7000,0xe2077206,0x33877102,0x13100102,
-0x1227720a,0xe168f007,0xeafff72a,0xe19b4003,
-0x019a4002,0x01994001,0x0a000003,0xe3100102,
-0x1368f102,0x0368f202,0xeafff722,0xe368f206,
-0xeafff720,0xe0945883,0x3a000001,0xe1915002,
-0x1a000003,0xe094588b,0x3affffe3,0xe199500a,
-0x0affffe1,0xe368f201,0xe24fc0c0,0xe24ccc24,
-0xe24f7038,0xe3a04001,0xeafffc56,0xe2097807,
-0xe2095602,0xe24f6074,0xe0866c28,0xe8960f00,
-0xe0288505,0xeaffffca,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x80000000,
-0x00000000,0x00003fff,0x00000000,0x80000000,
-0x00000000,0x00004000,0x00000000,0xc0000000,
-0x00000000,0x00004000,0x00000000,0x80000000,
-0x00000000,0x00004001,0x00000000,0xa0000000,
-0x00000000,0x00004001,0x00000000,0x80000000,
-0x00000000,0x00003ffe,0x00000000,0xa0000000,
-0x00000000,0x00004002,0xe2097807,0xe2095602,
-0xe24f6e11,0xe0866c28,0xe8960f00,0xe0288505,
-0xea00000b,0xe1b08e09,0x4afffff6,0xe08c8c28,
-0xe898000f,0xe1b04d23,0xe28f7000,0x1afffb46,
-0xe2097807,0xe1a0b003,0xe1a0a002,0xe0208509,
-0xe1a09001,0xe08cc627,0xe89c000f,0xe1b04d23,
-0xe28f7000,0x1afffb3c,0x188c000f,0xe3a04803,
-0xe0945883,0x3094588b,0x2a00000b,0xe0305008,
-0x4affffa1,0xe153000b,0x01510009,0x0152000a,
-0xe10f7000,0xe2077206,0x33877102,0x13100102,
-0x1227720a,0xe168f007,0xeafff6c2,0xe0945883,
-0x3a000001,0xe1915002,0x1a000003,0xe094588b,
-0x3affffed,0xe199500a,0x0affffeb,0xe368f201,
-0xeafff6b8,0xe2099060,0xe3590020,0x03a07209,
-0x0a000006,0xe3a00000,0xe08cb42a,0xe28f708c,
-0xe2877c05,0xea0000de,0xe357020e,0x0afffff4,
-0xe24f8c02,0xe0887c27,0xe08cb42a,0xe8970780,
-0xe88b0780,0xeafff6b6,0xe24f8f85,0xe0887c27,
-0xe08cb42a,0xe8970700,0xe3a07102,0xe88b0780,
-0xeafff6af,0xe24f7e23,0xe0878c28,0xe8980d00,
-0xe3a04000,0xea0001f3,0xe24f7f91,0xe0878c28,
-0xe8980d00,0xe3a04000,0xea0002a5,0xe3580102,
-0x0a00040f,0xe24f7e26,0xe0878c28,0xe8980d00,
-0xea00035f,0xe3580102,0x0a00050f,0xe24f7f9e,
-0xe0878c28,0xe8980d00,0xea000456,0xe24f7fa3,
-0xe0876c26,0xe896000f,0xea000463,0xe3580102,
-0x0a0005b3,0xe24f7e2a,0xe0878c28,0xe8980d00,
-0xea000546,0xe24f7fad,0xe0876c26,0xe896000f,
-0xea000549,0xe24f8fb1,0xe0888c27,0xe08cb42a,
-0xe898000f,0xe3570209,0x9a00018e,0xea000143,
-0xe24f8e2e,0xe0888c27,0xe898000f,0xea00063a,
-0xe24f8e2f,0xe0888c27,0xe898000f,0xea0006dd,
-0xe24f8c03,0xe0888c27,0xe898000f,0xea000790,
-0xe24f8e31,0xe0888c27,0xe898000f,0xea000858,
-0xe3570102,0x13570209,0x1357020e,0x1a0008fe,
-0xe24f8e33,0xe0888c27,0xe898000f,0xea000880,
-0xe24f8d0d,0xe0888c27,0xe898000f,0xea000992,
-0xe24f7e35,0xe0876c26,0xe896000f,0xea000937,
-0xe24f7fd7,0xe0878c28,0xe8980d00,0xea0005b6,
-0xe3190080,0x1afff638,0xe1b07e09,0xe209aa07,
-0x4affff9e,0xe08c7c27,0xe08cb42a,0xe8970780,
-0xe88b0780,0xeafff656,0xe3190080,0x1afff62e,
-0xe1b07e09,0xe209aa07,0x4affff9a,0xe08c7c27,
-0xe08cb42a,0xe8970780,0xe2277102,0xe88b0780,
-0xeafff64b,0xe3190080,0x1afff623,0xe1b07e09,
-0xe209aa07,0x4affff89,0xe08c7c27,0xe08cb42a,
-0xe8970780,0xe3c77102,0xe88b0780,0xeafff640,
-0xe1b07e09,0xe209aa07,0x4affff80,0xe08c7c27,
-0xe08ca42a,0xe897000f,0xe2098080,0xe3888040,
-0xe1580ba3,0x21b04183,0x3a00001d,0xe88a000f,
-0xeafff62c,0xe1b07e09,0xe209aa07,0x4affff79,
-0xe08c7c27,0xe08ca42a,0xe897000f,0xe2200102,
-0xe2098080,0xe3888040,0xe1580ba3,0x21b04183,
-0x3a00000f,0xe88a000f,0xeafff61e,0xe1b07e09,
-0xe209aa07,0x4affff65,0xe08c7c27,0xe08ca42a,
-0xe897000f,0xe3c00102,0xe2098080,0xe3888040,
-0xe1580ba3,0x21b04183,0x3a000001,0xe88a000f,
-0xeafff610,0xe1a04328,0xe1844d23,0xe24f7018,
-0xe3540019,0x0a00006b,0xc3c03102,0xe3140002,
-0x1a000034,0xe1b05883,0x12955802,0x0a00001c,
-0xe2195060,0x1a00000c,0xe1925c81,0xe2012080,
-0x000220a1,0xe0911002,0x23a01102,0xe2a33000,
-0xe3a02000,0xe3c110ff,0xe2535dfe,0x9a00001a,
-0xe35500ff,0x31a0f007,0xea000012,0xe3550060,
-0x11922c01,0x10305d05,0x5afffff4,0xe2911c01,
-0x23a01102,0xe2a33000,0xe3a02000,0xe3c110ff,
-0xe2535dfe,0x9a00000c,0xe35500ff,0x31a0f007,
-0xea000004,0xe31300ff,0x11a0f007,0xe1922001,
-0x01a0f007,0xea00000a,0xe3a030ff,0xe3833c7f,
-0xe3a01000,0xe3a04004,0xeafffb1a,0xe3750017,
-0xda000003,0xe2655009,0xe1a01531,0xe1a01511,
-0xe1a0f007,0xe3a03000,0xe3a02000,0xe3a01000,
-0xe3a04008,0xeafffb0f,0xe1b05883,0x12955802,
-0x0a000022,0xe2195060,0x1a00000f,0xe1b04b02,
-0xe2024b01,0x000440a2,0xe0922004,0xe2b11000,
-0xe2a33000,0x23a01102,0xe1a025a2,0xe1a02582,
-0xe2535b0f,0x9a00001a,0xe2854001,0xe3540b02,
-0x31a0f007,0xe3a02000,0xeaffffda,0xe3550060,
-0x11b04a82,0x10305d05,0x5afffff2,0xe2922b02,
-0xe2b11000,0x23a01102,0xe2a33000,0xe1a025a2,
-0xe1a02582,0xe2535b0f,0x9a000009,0xe2854001,
-0xe3540b02,0x31a0f007,0xe3a02000,0xeaffffc9,
-0xe31300ff,0x11a0f007,0xe1922001,0x01a0f007,
-0xeaffffcf,0xe3750034,0xdaffffcd,0xe265500c,
-0xe2554020,0x21a02431,0x31a02532,0x21a01412,
-0xe1a02512,0xe1a0f007,0xe1a03080,0xe1b03aa3,
-0x12834001,0x13340b02,0x0a000023,0xe2833b0f,
-0xe2195060,0x1a00000f,0xe1b04201,0xe1a01aa1,
-0xe1811580,0xe3811102,0xe2014080,0x000440a1,
-0xe0911004,0x23a01102,0xe2a33000,0xe3c110ff,
-0xe3a02000,0xe2535dfe,0x9affffab,0xe35500ff,
-0x31a0f007,0xeaffffa3,0xe1b04181,0xe1a01aa1,
-0xe1811580,0xe3811102,0x13550060,0x10305d05,
-0x5afffff1,0xe2911c01,0x23a01102,0xe2a33000,
-0xe3a02000,0xe3c110ff,0xe2535dfe,0x9affff9a,
-0xe35500ff,0x31a0f007,0xeaffff92,0xe1833203,
-0xe1912600,0x01a0f007,0xe1a02581,0xe1a01aa1,
-0xe1811580,0xe31300ff,0x11a0f007,0xeaffff94,
-0xe3190080,0x1afff54c,0xe1b07e09,0xe209aa07,
-0x4afffeb0,0xe08c7c27,0xe08cb42a,0xe897000f,
-0xe1b04d23,0xe28f7000,0x1afff9c3,0xe1a04883,
-0xe2944802,0x0a00000b,0xe92c4000,0xebfff83c,
-0xe8bc4000,0xe28f7014,0x1afffa96,0xe1898629,
-0xe3180080,0x0affff4e,0xe3190080,0x1affff81,
-0xe88b000f,0xeafff553,0xe1928001,0x0a000003,
-0xe3811101,0xe24f701c,0xe3a04001,0xeafffa89,
-0xe3a02000,0xe24f702c,0xeaffff66,0xe3190080,
-0x1afff529,0xe1b07e09,0xe209aa07,0x4afffec0,
-0xe08c8c27,0xe08cb42a,0xe898000f,0xe1b04d23,
-0xe28f7000,0x1afff9a0,0x1888000f,0xe1b04883,
-0x12944802,0x0a000063,0xe3100102,0x1a000059,
-0xe2833901,0xe2433001,0xe1b030a3,0xe1a05002,
-0x32414102,0x22414101,0x33a07201,0x23a07202,
-0xe3a01102,0xe0955005,0xe0b44004,0xe0216007,
-0x31540006,0x20444006,0x20211087,0xe1b070e7,
-0x5afffff7,0xe1942005,0x11892629,0x12122080,
-0x03a07000,0x0a000018,0xe3a02000,0xe0955005,
-0xe0b44004,0xe0a00000,0xe0226007,0xe055a006,
-0xe0d48001,0x31b000a0,0x21a0500a,0x21a04008,
-0x20222087,0x20211fa7,0xe1b070a7,0x1afffff2,
-0xe0955005,0xe0b44004,0xe0b70007,0xe0d5a002,
-0xe0d48001,0x31b000a0,0x21a0500a,0x21a04008,
-0x22222001,0x23a07102,0xe3a00000,0xe3190702,
-0x1a000008,0xe1954004,0x01944007,0x13822001,
-0xe28f7044,0xe3530000,0xdaffff29,0xe3190080,
-0x0afffef7,0xeaffff2b,0xe2196060,0x1a000015,
-0xe0977007,0xe0b55005,0xe0b44004,0x2a000002,
-0xe1540001,0x01550002,0x03570101,0xe2b22000,
-0xe2b11000,0xe2a33000,0x23a01102,0xe59c5080,
-0xe3150010,0x0a000001,0xe88b000f,0xeafff4ed,
-0xe3855010,0xe58c5080,0xe3150601,0x0afffff9,
-0xe3a00010,0xea0008b4,0xe1945005,0x01955007,
-0x13560060,0x0afffff0,0xe1300c86,0x4affffee,
-0xe2922001,0xeaffffe9,0xe3a014c5,0xe3a02000,
-0xe3a030ff,0xe1833383,0xe3811101,0xe24f705c,
-0xe3a04001,0xeafffa13,0xe3530000,0x1a000008,
-0xe1914002,0x0affffe3,0xe1b01001,0x4affff95,
-0xe0922002,0xe0b11001,0xe2433001,0x5afffffb,
-0xeaffff90,0xe1914002,0x1affffee,0xe3100102,
-0x0affffd5,0xeaffffe7,0xe3190080,0x1afff4a6,
-0xe1b08e09,0x4afffe1a,0xe08c8c28,0xe898000f,
-0xe1b04d23,0x0a00000b,0xe28f7024,0xe3540008,
-0x1afff91d,0xe3a02000,0xe1a03080,0xe1b03c23,
-0x133300ff,0x11a01400,0x13811102,0x12833dfe,
-0x0afffa4d,0xe888000f,0xe1a0b003,0xe1a0a002,
-0xe1a08001,0xe2004102,0xe2096807,0xe08c6626,
-0xe896000f,0xe1340000,0x4a0000b6,0xe1b04d23,
-0x0a00000b,0xe28f7024,0xe3540008,0x1afff906,
-0xe3a02000,0xe1a03080,0xe1b03c23,0x133300ff,
-0x11a01400,0x13811102,0x12833dfe,0x0afffa36,
-0xe886000f,0xe3a06802,0xe0965883,0x3096588b,
-0x2a000061,0xe053400b,0x4a000046,0xe2745020,
-0xda00000e,0xe092243a,0x20822518,0x30922518,
-0xe0b11438,0xe1a0851a,0xe1a0a088,0x2a000011,
-0xe3190702,0x1a00001d,0xe19aa008,0x13822001,
-0xe28f7090,0xe3190080,0x0afffe7d,0xeafffeb1,
-0xe3540040,0xc18aa008,0xc3a08000,0xaa00000b,
-0xe2444020,0xe2645020,0xe0922438,0xe2b11000,
-0xe1a08518,0xe18aa088,0xe2a33000,0x218aa008,
-0x21a08f82,0x21a020a2,0x21822f81,0x21a01061,
-0xe3190702,0x1a000005,0xe19aa008,0x13822001,
-0xe28f7030,0xe3190080,0x0afffe65,0xeafffe99,
-0xe2197060,0x1a000014,0xe19aa088,0x00088f82,
-0xe0922fa8,0xe2b11000,0xe2a33000,0x23a01102,
-0xe0965883,0x0a00003b,0xe59c5080,0xe3150010,
-0x0a000003,0xe2099a07,0xe08c9429,0xe889000f,
-0xeafff45c,0xe3855010,0xe58c5080,0xe3150601,
-0x0afffff7,0xe3a00010,0xea000823,0xe19aa008,
-0x13570060,0x0affffef,0xe1300c87,0x4affffed,
-0xe2922001,0xeaffffe6,0xe2644000,0xe1a0300b,
-0xe1a05001,0xe1a01008,0xe1a08005,0xe1a05002,
-0xe1a0200a,0xe1a0a005,0xe2745020,0xdaffffbf,
-0xe092243a,0x20822518,0x30922518,0xe0b11438,
-0xe1a0851a,0xe1a0a088,0x2affffc2,0xe3190702,
-0x1affffce,0xe19aa008,0x13822001,0xe24f70ac,
-0xe3190080,0x0afffe2e,0xeafffe62,0xe0965883,
-0x1a000001,0xe1925001,0x1a000006,0xe096588b,
-0x1affffcc,0xe1a0300b,0xe1a01008,0xe1a0200a,
-0xe1915002,0x0affffc7,0xe3811101,0xe24f70ec,
-0xe3a04001,0xeafff963,0xe3a030ff,0xe1833383,
-0xe3a02000,0xe3a01000,0xe24f7f42,0xe3a04004,
-0xeafff95c,0xe1b04d23,0x0a00000b,0xe28f7024,
-0xe3540008,0x1afff87c,0xe3a02000,0xe1a03080,
-0xe1b03c23,0x133300ff,0x11a01400,0x13811102,
-0x12833dfe,0x0afff9ac,0xe886000f,0xe0200589,
-0xeaffff73,0xe3190080,0x1afff3ef,0xe1b08e09,
-0x4afffd68,0xe08c8c28,0xe898000f,0xe1b04d23,
-0x0a00000b,0xe28f7024,0xe3540008,0x1afff866,
-0xe3a02000,0xe1a03080,0xe1b03c23,0x133300ff,
-0x11a01400,0x13811102,0x12833dfe,0x0afff996,
-0xe888000f,0xe1a0b003,0xe1a0a002,0xe1a08001,
-0xe2004102,0xe2096807,0xe08c6626,0xe896000f,
-0xe1340000,0x4affffd2,0xe1b04d23,0x0a00000b,
-0xe28f7024,0xe3540008,0x1afff84f,0xe3a02000,
-0xe1a03080,0xe1b03c23,0x133300ff,0x11a01400,
-0x13811102,0x12833dfe,0x0afff97f,0xe886000f,
-0xe0200589,0xe3a06802,0xe0965883,0x3096588b,
-0x2a00006b,0xe053400b,0x01510008,0x0152000a,
-0x0a000078,0x3a00004c,0xe3a07000,0xe2745020,
-0xda000015,0xe057651a,0xe0d2243a,0x30422518,
-0x20522518,0xe0d11438,0x5a00001b,0xe3190702,
-0x1a000029,0xe1977006,0x13822001,0xe28f70c0,
-0xe3190080,0x0afffdc2,0xeafffdf6,0x13a06102,
-0xe3a07001,0xe198500a,0x0a000029,0xe2522001,
-0xe2d11000,0x5a00000c,0xea000011,0xe3a06000,
-0xe3540040,0xaafffff4,0xe2444020,0xe2645020,
-0xe057751a,0xe0d6643a,0x30466518,0x20566518,
-0xe0d22438,0xe2d11000,0x4a000005,0xe0977007,
-0xe0b66006,0xe0b22002,0xe0b11001,0xe2433001,
-0x5afffff9,0xe3190702,0x1a000007,0xe3530000,
-0xda00004c,0xe1977006,0x13822001,0xe28f7030,
-0xe3190080,0x0afffd9e,0xeafffdd2,0xe2195060,
-0x1a00000e,0xe1977086,0x00066f82,0xe0922fa6,
-0xe2b11000,0xe2a33000,0x23a01102,0xe1b03003,
-0x4a000042,0xe59c5080,0xe3150010,0x0affff3c,
-0xe2099a07,0xe08c9429,0xe889000f,0xeafff395,
-0xe1977006,0x13550060,0x0afffff3,0xe1300c85,
-0x4afffff1,0xe2922001,0xeaffffec,0xe2644000,
-0xe2200102,0xe1a0300b,0xe1a05001,0xe1a01008,
-0xe1a08005,0xe1a05002,0xe1a0200a,0xe1a0a005,
-0xe3a07000,0xe2745020,0xdaffffbf,0xe057651a,
-0xe0d2243a,0x30422518,0x20522518,0xe0d11438,
-0x5affffc5,0xe3190702,0x1affffd3,0xe1977006,
-0x13822001,0xe24f7098,0xe3190080,0x0afffd6c,
-0xeafffda0,0xe0965883,0x1a000005,0xe1925001,
-0x1affff44,0xe153000b,0x0198500a,0x03a014c1,
-0x0affff40,0xe096588b,0x1affffcd,0xe2200102,
-0xe1a0300b,0xe1a01008,0xe1a0200a,0xe1915002,
-0x0affffc7,0xeaffff37,0xe3a03000,0xe3a02000,
-0xe3a01000,0xeaffffc2,0xe3a03000,0xe3a02000,
-0xe3a01000,0xe24f7f42,0xe3a04008,0xeafff895,
-0xe2633000,0xe2734020,0x42435020,0x41a02531,
-0x51a02332,0x51822411,0xe1a01331,0xe3a03000,
-0xeaffffb3,0xe3190080,0x1afff32f,0xe1b08e09,
-0x4afffcad,0xe08c8c28,0xe898000f,0xe1b04d23,
-0x0a00000b,0xe28f7024,0xe3540008,0x1afff7a6,
-0xe3a02000,0xe1a03080,0xe1b03c23,0x133300ff,
-0x11a01400,0x13811102,0x12833dfe,0x0afff8d6,
-0xe888000f,0xe2000102,0xe183b000,0xe1a0a002,
-0xe1a08001,0xe2096807,0xe08c6626,0xe896000f,
-0xe1b04d23,0x0a00000b,0xe28f7024,0xe3540008,
-0x1afff791,0xe3a02000,0xe1a03080,0xe1b03c23,
-0x133300ff,0x11a01400,0x13811102,0x12833dfe,
-0x0afff8c1,0xe886000f,0xe020000b,0xe3cbb102,
-0xe3a06802,0xe3530000,0x135b0000,0x0a00008c,
-0xe0965883,0x3096588b,0x2afffee7,0xe3b054ff,
-0xe0a3300b,0xe185b425,0xe043392b,0xe19a4088,
-0x11924081,0x0a000064,0xe92c4209,0xe1a04821,
-0xe1c1500b,0xe1a06822,0xe1c2700b,0xe1c8900b,
-0xe1a08828,0xe1cab00b,0xe1a0a82a,0xe0030b96,
-0xe0020b94,0xe0010994,0xe0000a97,0xe0933000,
-0xe0000a95,0xe0b22000,0xe0000895,0xe0b11000,
-0x33a0e000,0x23a0e001,0xe0000996,0xe0922000,
-0xe2b11000,0xe2aee000,0xe0000897,0xe0922000,
-0xe2b11000,0xe2aee000,0xe18ee803,0xe1a03823,
-0xe1833802,0xe1a02822,0xe1822801,0xe1a01821,
-0xe181180e,0xe3cee0ff,0xe0000b95,0xe00b0b97,
-0xe09eb00b,0xe0b33000,0xe0000896,0xe0b22000,
-0xe0000894,0xe0a11000,0xe0000a94,0xe00a0a96,
-0xe09aa003,0xe0b22000,0xe2a11000,0xe0000997,
-0xe09aa000,0xe0000995,0xe0b22000,0xe2b11000,
-0xe8bc4209,0x5a000009,0xe3190702,0x1a000017,
-0xe19bb00a,0x13822001,0xe3530000,0xdaffff79,
-0xe28f7078,0xe3190080,0x0afffccd,0xeafffd01,
-0xe09bb00b,0xe0baa00a,0xe0b22002,0xe0b11001,
-0xe2433001,0x5afffff9,0xe3190702,0x1a000007,
-0xe3530000,0xdaffff6b,0xe19bb00a,0x13822001,
-0xe28f7038,0xe3190080,0x0afffcbd,0xeafffcf1,
-0xe2195060,0x1a00001c,0xe19bb08a,0x000aaf82,
-0xe0922faa,0xe2b11000,0xe2a33000,0x23a01102,
-0xe2934001,0xda00001b,0xe1b047a4,0x1afffe91,
-0xe59c5080,0xe3150010,0x0afffe59,0xe2099a07,
-0xe08c9429,0xe889000f,0xeafff2b2,0xe19a4088,
-0x11a0200a,0x11a01008,0xe2433001,0xe3190702,
-0x1affffee,0xe3530000,0xdaffff4a,0xe24f7044,
-0xe3190080,0x0afffc9e,0xeafffcd2,0xe19bb00a,
-0x13550060,0x0affffe5,0xe1300c85,0x4affffe3,
-0xe2922001,0xeaffffde,0xe2633000,0xe3530040,
-0xaaffff3c,0xe2734020,0x42435020,0x41a02531,
-0x51a02332,0x51822411,0xe1a01331,0xe3a03000,
-0xeaffffda,0xe3530000,0x1a000003,0xe1915002,
-0x0a00000c,0xe35b0000,0x1affff6c,0xe198500a,
-0x1affff6a,0xe0965883,0x33a03000,0x33a02000,
-0x33a01000,0x3affffcd,0xe1915002,0x1afffe59,
-0xe3a014c2,0xeafffe57,0xe096588b,0x3affffc7,
-0xe198500a,0x1afffe48,0xe1a0300b,0xeafffff7,
-0xe3190080,0x1afff25c,0xe2096807,0xe08c6626,
-0xe896000f,0xe1b04d23,0x0a00000b,0xe28f7024,
-0xe3540008,0x1afff6d4,0xe3a02000,0xe1a03080,
-0xe1b03c23,0x133300ff,0x11a01400,0x13811102,
-0x12833dfe,0x0afff804,0xe886000f,0xe2000102,
-0xe183b000,0xe1a0a002,0xe1a08001,0xe1b06e09,
-0x4afffbd1,0xe08c6c26,0xe896000f,0xe1b04d23,
-0x0a000035,0xe28f7024,0xe3540008,0x1afff6be,
-0xe3a02000,0xe1a03080,0xe1b03c23,0x133300ff,
-0x11a01400,0x13811102,0x12833dfe,0x0afff7ee,
-0xe886000f,0xea000028,0xe3190080,0x1afff232,
-0xe1b08e09,0x4afffbb6,0xe08c8c28,0xe898000f,
-0xe1b04d23,0x0a00000b,0xe28f7024,0xe3540008,
-0x1afff6a9,0xe3a02000,0xe1a03080,0xe1b03c23,
-0x133300ff,0x11a01400,0x13811102,0x12833dfe,
-0x0afff7d9,0xe888000f,0xe2000102,0xe183b000,
-0xe1a0a002,0xe1a08001,0xe2096807,0xe08c6626,
-0xe896000f,0xe1b04d23,0x0a00000b,0xe28f7024,
-0xe3540008,0x1afff694,0xe3a02000,0xe1a03080,
-0xe1b03c23,0x133300ff,0x11a01400,0x13811102,
-0x12833dfe,0x0afff7c4,0xe886000f,0xe020000b,
-0xe3cbb102,0xe1b04883,0x11b0588b,0x12944802,
-0x12955802,0x0a000082,0xe043300b,0xe2833901,
-0xe2433001,0xe3a0b000,0xe052500a,0xe0d14008,
-0x23a01003,0x2a00000c,0xe1a05002,0xe1a04001,
-0xe3a01001,0xe2433001,0xe0955005,0xe0b44004,
-0xe2abb000,0xe055700a,0xe0d46008,0x31b0b0ab,
-0x21a05007,0x21a04006,0xe0a11001,0xe0955005,
-0xe0b44004,0xe2abb000,0xe055700a,0xe0d46008,
-0x31b0b0ab,0x21a05007,0x21a04006,0xe0a11001,
-0xe0955005,0xe0b44004,0xe2abb000,0xe055700a,
-0xe0d46008,0x31b0b0ab,0x21a05007,0x21a04006,
-0xe0a11001,0xe0955005,0xe0b44004,0xe2abb000,
-0xe055700a,0xe0d46008,0x31b0b0ab,0x21a05007,
-0x21a04006,0xe0b11001,0x3affffda,0xe1942005,
-0x11892629,0x12122080,0x0a000025,0xe3a02001,
-0xe0955005,0xe0b44004,0xe2abb000,0xe055700a,
-0xe0d46008,0x31b0b0ab,0x21a05007,0x21a04006,
-0xe0a22002,0xe0955005,0xe0b44004,0xe2abb000,
-0xe055700a,0xe0d46008,0x31b0b0ab,0x21a05007,
-0x21a04006,0xe0a22002,0xe0955005,0xe0b44004,
-0xe2abb000,0xe055700a,0xe0d46008,0x31b0b0ab,
-0x21a05007,0x21a04006,0xe0a22002,0xe0955005,
-0xe0b44004,0xe2abb000,0xe055700a,0xe0d46008,
-0x31b0b0ab,0x21a05007,0x21a04006,0xe0b22002,
-0x3affffda,0xe3190702,0x1a000007,0xe1954004,
-0x13822001,0xe3530000,0xdafffe62,0xe28f7048,
-0xe3190080,0x0afffbb6,0xeafffbea,0xe2197060,
-0x1a000014,0xe0955005,0xe0b44004,0x2a000002,
-0xe1540008,0x0155000a,0x011500a2,0xe2b22000,
-0xe2b11000,0xe2a33000,0x23a01102,0xe2934001,
-0xdaffff10,0xe1b047a4,0x1afffd86,0xe59c5080,
-0xe3150010,0x0afffd4e,0xe2099a07,0xe08c9429,
-0xe889000f,0xeafff1a7,0xe1945005,0x13570060,
-0x0afffff1,0xe1300c87,0x4affffef,0xe2922001,
-0xeaffffea,0xe1b04883,0x1a000013,0xe1915002,
-0x1a00000d,0xe1b0588b,0x0198600a,0x03a014c3,
-0x03a030ff,0x01833383,0x0afffd6a,0xe2955802,
-0x1affffe8,0xe198600a,0x0affffe6,0xe1a01008,
-0xe1a0200a,0xe1a0300b,0xeafffd62,0xe0922002,
-0xe0b11001,0xe2433001,0x5afffffb,0xe1b0588b,
-0x1a000010,0xe198600a,0x1a00000a,0xe2944802,
-0x1a000001,0xe1916002,0x1afffd56,0xe3a01000,
-0xe3a02000,0xe3a030ff,0xe1833383,0xe24f70bc,
-0xe3a04002,0xeafff6b7,0xe09aa00a,0xe0b88008,
-0xe24bb001,0x5afffffb,0xe2956802,0x12946802,
-0x1affff50,0xe2946802,0x1a000006,0xe1916002,
-0x1afffd44,0xe2956802,0x1affffbf,0xe198600a,
-0x03a01331,0x0afffd3f,0xe198600a,0x0afffe09,
-0xe1a01008,0xe1a0200a,0xe1a0300b,0xeafffd39,
-0xe3190080,0x1afff144,0xe2096807,0xe08c6626,
-0xe896000f,0xe1b04d23,0xe28f7000,0x1afff5be,
-0x1886000f,0xe2000102,0xe183b000,0xe1a0a002,
-0xe1a08001,0xe1b06e09,0x4afffacd,0xe08c6c26,
-0xe896000f,0xe1b04d23,0xe28f7000,0x1afff5b2,
-0x1886000f,0xea000014,0xe3190080,0x1afff12e,
-0xe1b08e09,0x4afffabc,0xe08c8c28,0xe898000f,
-0xe1b04d23,0xe28f7000,0x1afff5a7,0x1888000f,
-0xe2000102,0xe183b000,0xe1a0a002,0xe1a08001,
-0xe2096807,0xe08c6626,0xe896000f,0xe1b04d23,
-0xe28f7000,0x1afff59c,0x1886000f,0xe1a0700b,
-0xe3cbb102,0xe1b04883,0x12944802,0x11b0588b,
-0x12955802,0x0a00004e,0xe92c4200,0x5a000035,
-0xe24b4c3f,0xe24440fe,0xe3540010,0xca00002a,
-0xe19a5418,0x1a00002f,0xe2649020,0xe1a09938,
-0xe0000f89,0xe92c0080,0xe3a08102,0xe3a0a000,
-0xe3a07901,0xe257b001,0xe92c0d80,0x3bfff2b6,
-0xe1b090a9,0x3afffffc,0xe8bc0d80,0x192c000f,
-0xebfff2b5,0xe2834001,0x0a000009,0xe3540902,
-0xaa000010,0xe8bc0d80,0xe92c000f,0xe1a00007,
-0xe1a01008,0xe1a0200a,0xe1a0300b,0xebfff2aa,
-0xeaffffee,0xe8bc0080,0xe3170102,0x1bfff2f3,
-0xe8bc4200,0xe2934001,0xdafffe6a,0xe1b047a4,
-0x1afffce0,0xea0000cb,0xe28cc010,0xe8bc4280,
-0xe3170102,0x1afffda3,0xeafffcda,0xe3540040,
-0x2a000012,0xe2545020,0x21b0651a,0x0a000010,
-0xe19a6418,0x0a00000e,0xe3100102,0x1a00000e,
-0xe92c0001,0xe3a00000,0xe92c0d80,0xe3c99601,
-0xeb0000e1,0xe8bc0d80,0xebfff28b,0xeb000166,
-0xe8bc4201,0x0a0000b3,0xe28f7e2f,0xeafff629,
-0x13b05100,0x33a00000,0xeafffff0,0xe8bc4200,
-0xe3a014c7,0xe3a02000,0xe3a030ff,0xe1833383,
-0xeafffcb8,0xe3540000,0x1a00001e,0xe3530000,
-0x0a000002,0xe1916002,0x1afffcb2,0xea000001,
-0xe1916002,0x1a000010,0xe1b0588b,0x1a000006,
-0xe198600a,0x03a01102,0x03a02000,0x03a00000,
-0x03a03901,0x02433001,0xea000096,0xe2955802,
-0x1a000094,0xe198600a,0x0a000092,0xe1a01008,
-0xe1a0200a,0xe1a0300b,0xeafffc9e,0xe0922002,
-0xe0b11001,0xe2433001,0x5afffffb,0xe1b0588b,
-0x12955802,0x1affff8f,0xe35b0000,0x0a000008,
-0xe1a01008,0xe1a0200a,0xe1a00007,0xe1a0300b,
-0xe198600a,0x1afffc8f,0xe3100102,0x13a03000,
-0xea00007c,0xe198600a,0x0affffdd,0xe09aa00a,
-0xe0b88008,0xe24bb001,0x5afffffb,0xe92c4200,
-0xeaffffb4,0xe3190080,0x1afff08f,0xe1b08e09,
-0x4afffa4e,0xe08c8c28,0xe898000f,0xe1b04d23,
-0xe28f7000,0x1afff508,0x1888000f,0xe2000102,
-0xe183b000,0xe1a0a002,0xe1a08001,0xe2096807,
-0xe08c6626,0xe896000f,0xe1b04d23,0xe28f7000,
-0x1afff4fd,0x1886000f,0xe1a0700b,0xe3cbb102,
-0xe1b04883,0x12944802,0x11b0588b,0x12955802,
-0x0a00000a,0xe92c400f,0xe92c0d80,0xebfff27f,
-0xebfff36f,0xe8bc0d80,0xebfff227,0xe2200102,
-0xe8bc0d80,0xebfff178,0xe8bc4000,0xea00004d,
-0xe1b04883,0x1a000010,0xe1915002,0x1a00000a,
-0xe1b0588b,0x0198600a,0x0a000013,0xe2955802,
-0x1a000015,0xe198600a,0x0a000013,0xe1a01008,
-0xe1a0200a,0xe1a0300b,0xeafffc4e,0xe0922002,
-0xe0b11001,0xe2433001,0x5afffffb,0xe1b0588b,
-0x1a000012,0xe198600a,0x1a00000c,0xe2944802,
-0x1a000001,0xe1916002,0x1afffc42,0xe3a01333,
-0xe3b02100,0xe2e23902,0xeafffc3e,0xe3a00000,
-0xe3a01000,0xe3a02000,0xe3a03000,0xea000029,
-0xe09aa00a,0xe0b88008,0xe24bb001,0x5afffffb,
-0xe2956802,0x12946802,0x1affffc9,0xe2946802,
-0x1a000008,0xe1916002,0x1afffc2e,0x03a01333,
-0xe2956802,0x1afffc2b,0xe198600a,0x11a01008,
-0x11a0200a,0xeafffc27,0xe198600a,0x0a000015,
-0xe1a01008,0xe1a0200a,0xe1a0300b,0xeafffc21,
-0xe3190080,0x1afff02c,0xe1b07e09,0x4afff9cb,
-0xe08c8c27,0xe898000f,0xe1b04d23,0xe28f7000,
-0x1afff4a5,0x1888000f,0xe1b04883,0x12944802,
-0x0a00001d,0xe3100102,0x1a000016,0xe92c4000,
-0xeb000029,0xe8bc4000,0xe3190702,0x1a000005,
-0xe28f7018,0xe3530000,0xdafffa5d,0xe3190080,
-0x0afffa2b,0xeafffa5f,0xe3530000,0xba000006,
-0xe59c5080,0xe3150010,0x0afffbd1,0xe2099a07,
-0xe08c9429,0xe889000f,0xeafff02a,0xe3730040,
-0xcafffcce,0xeafffa4e,0xe3a014c6,0xe3a02000,
-0xe3a030ff,0xe1833383,0xeafffbf6,0xe3530000,
-0x1a000008,0xe1914002,0x0afffff6,0xe1b01001,
-0x4affffdb,0xe0922002,0xe0b11001,0xe2433001,
-0x5afffffb,0xeaffffd6,0xe1914002,0x1afffbe9,
-0xe3100102,0x0affffe1,0xeaffffea,0xe28f4f52,
-0xe8940500,0xe1510008,0x0152000a,0xe1a0a0a2,
-0xe18aaf81,0xe1a080a1,0xe3888102,0xe3a0b0fe,
-0xe18bb30b,0xe043400b,0x92444001,0xe92c4210,
-0xe1a0300b,0x8a000005,0xe3c88101,0xe0922002,
-0xe0b11001,0xe2433001,0x5a000003,0xea000008,
-0xe3a00102,0xe2722000,0xe2f11000,0x03520000,
-0x0a000035,0xe0922002,0xe0b11001,0xe2433001,
-0x5afffff9,0xe3a07000,0xebfff1e0,0xe92c000f,
-0xebfff185,0xe92c000f,0xe28f90c4,0xe8b90d00,
-0xebfff125,0xe89c0d80,0xebfff183,0xe8b90d00,
-0xebfff0d8,0xe89c0d80,0xebfff17f,0xe8b90d00,
-0xebfff11d,0xe89c0d80,0xe92c000f,0xe3a00102,
-0xe8b9000e,0xebfff178,0xe8b90d00,0xebfff0cd,
-0xe28c4010,0xe8940d80,0xebfff173,0xe8b90d00,
-0xebfff111,0xe8bc0d80,0xebfff1c4,0xe8bc0d80,
-0xebfff16d,0xe89c0d80,0xebfff16b,0xe8bc0d80,
-0xebfff0bd,0xe8bc0010,0xebfff25e,0xe92c000f,
-0xe3a00000,0xe8b9000e,0xebfff163,0xe8bc0d80,
-0xebfff0b5,0xe8bc0200,0xe3190601,0xe28f7074,
-0x18970d00,0x1bfff15c,0xe8bc8000,0xe3a00000,
-0xe3a03000,0xe28f9050,0xeaffffed,0xb504f333,
-0xf9de6484,0x8eac025b,0x3e7076bb,0x00004004,
-0x9c041fd0,0xa933ef60,0x00004007,0xc05ff4e0,
-0x6c83bb96,0x00004008,0xca20ad9a,0xb5e946e9,
-0x00003ffe,0x83125100,0xb57f6509,0x00004003,
-0x803ff895,0x9dacd228,0x00004005,0xb17217f7,
-0xd1cf79ac,0x00003ffe,0xde5bd8a9,0x37287195,
-0x00003ffd,0xe3190080,0x1affef83,0xe1b07e09,
-0x4afff926,0xe08c8c27,0xe898000f,0xe1b04d23,
-0xe28f7000,0x1afff3fc,0x1888000f,0xe1a04883,
-0xe2944802,0x0a000005,0xe92c4000,0xeb00000a,
-0xe8bc4000,0x0affff57,0xe24f7d0a,0xeafff4cd,
-0xe1914002,0x1afffb63,0xe3100102,0x0affff5b,
-0xe3a00000,0xe3a03000,0xeaffff58,0xe28f4f6e,
-0xe3100102,0x128f4f72,0xe8b40d00,0xe153000b,
-0x01510008,0x0152000a,0x8a00005d,0xe8940d00,
-0xe153000b,0x01510008,0x0152000a,0x3a000052,
-0xe92c421f,0xe28f9e1b,0xe3a07000,0xe8b90d00,
-0xebfff111,0xebfff238,0xe3170102,0x12644000,
-0xe58c4010,0xe92c0d80,0xe3a00000,0xe8b9000e,
-0xebfff109,0xe8bc0d80,0xe92c000f,0xe8b9000e,
-0xe3a00102,0xebfff104,0xe92c000f,0xe28c4020,
-0xe894000f,0xebfff20c,0xe3170102,0x0bfff09e,
-0x1bfff054,0xe1a0400c,0xe92c000f,0xe894000f,
-0xebfff04d,0xe8bc0d80,0xebfff04b,0xe28cc010,
-0xe8bc0d80,0xebfff048,0xe88c000f,0xebfff0ee,
-0xe92c000f,0xe3a07000,0xe8b90d00,0xebfff0ee,
-0xe8b90d00,0xebfff043,0xe89c0d80,0xebfff0ea,
-0xe8b90d00,0xebfff03f,0xe89c0d80,0xebfff0e6,
-0xe8b90d00,0xebfff03b,0xe89c0d80,0xe92c000f,
-0xe3a00000,0xe8b9000e,0xebfff0df,0xe8b90d00,
-0xebfff034,0xe28c7010,0xe8970d80,0xebfff0da,
-0xe8b90d00,0xebfff02f,0xe28c7020,0xe8970d80,
-0xebfff0d5,0xe8bc0d80,0xe92c000f,0xe2200102,
-0xebfff025,0xe1a07000,0xe1a08001,0xe1a0a002,
-0xe1a0b003,0xe8bc000f,0xebfff120,0xe8b90d00,
-0xebfff020,0xe28cc020,0xe8bc4210,0xe2844001,
-0xe0833004,0xe3b04000,0xe1a0f00e,0xe3b00000,
-0xe3a01102,0xe3a02000,0xe3a03901,0xe2433001,
-0xe1a0f00e,0xe3100102,0xe3a00000,0xe3a01000,
-0xe3a02000,0x13a03000,0x13a04008,0x03a030ff,
-0x01833383,0x03b04004,0xe1a0f00e,0xb17217f7,
-0xd1cf79ab,0x0000400c,0x80000000,0x00000000,
-0x00003fbe,0xb21dfe7f,0x09e2baa9,0x0000400c,
-0x80000000,0x00000000,0x00003fbe,0xb8aa3b29,
-0x5c17f0bc,0x00003fff,0xde8082e3,0x08654362,
-0x00003ff2,0xb1800000,0x00000000,0x00003ffe,
-0xc99b1867,0x2822a93e,0x00003fea,0xa57862e1,
-0x46a6fb39,0x00003ff4,0xe8b9428e,0xfecff592,
-0x00003ffa,0x80000000,0x00000000,0x00003ffe,
-0x845a2157,0x3490f106,0x00003ff0,0xf83a5f91,
-0x50952c99,0x00003ff7,0x80000000,0x00000000,
-0x00003ffd,0x80000000,0x00000000,0x00003ffe,
-0xe3190080,0x1affeecc,0xe1b07e09,0x4afff873,
-0xe08c8c27,0xe898000f,0xe1b04d23,0xe28f7000,
-0x1afff345,0x1888000f,0xe1a04883,0xe2944802,
-0x0a000006,0xe92c4000,0xeb000007,0xe8bc4000,
-0x0afffea0,0xe24f705c,0xe2477c05,0xeafff415,
-0xe1914002,0x03a01332,0xeafffaaa,0xe28f4f8f,
-0xe8b40d00,0xe153000b,0x01510008,0x0152000a,
-0x8a00006c,0xe1b01001,0x5a000063,0xe92c421f,
-0xe3190601,0xe28f9e22,0xe3a07000,0xe8b90d00,
-0xebfff061,0xebfff188,0x1b00006d,0xe58c4010,
-0xe92c0d80,0xe3a00000,0xe8b9000e,0xebfff05a,
-0xe8bc0d80,0xe92c000f,0xe8b9000e,0xe3a00102,
-0xebfff055,0xe92c000f,0xe28c4020,0xe894000f,
-0xebfff15d,0xe3170102,0x0bffefef,0x1bffefa5,
-0xe1a0400c,0xe92c000f,0xe894000f,0xebffef9e,
-0xe8bc0d80,0xebffef9c,0xe28cc010,0xe8bc0d80,
-0xebffef99,0xe3a04c3f,0xe38440df,0xe1530004,
-0xba000037,0xe88c000f,0xebfff03b,0xe92c000f,
-0xe3a07000,0xe8b90d00,0xebfff03b,0xe8b90d00,
-0xebffefd9,0xe89c0d80,0xebfff037,0xe8b90d00,
-0xebffef8c,0xe89c0d80,0xebfff033,0xe8b90d00,
-0xebffefd1,0xe89c0d80,0xebfff02f,0xe8b90d00,
-0xebffef84,0xe89c0d80,0xe92c000f,0xe3a00102,
-0xe8b9000e,0xebfff028,0xe8b90d00,0xebffef7d,
-0xe28c7010,0xe8970d80,0xebfff023,0xe8b90d00,
-0xebffefc1,0xe28c7010,0xe8970d80,0xebfff01e,
-0xe28c7020,0xe8970d80,0xebfff01b,0xe28c7020,
-0xe8970d80,0xebffef6c,0xe8bc0d80,0xe28cc020,
-0xe8bc0010,0xe3140001,0x12200102,0x1bfff1a7,
-0xe29b4902,0x4a000018,0xe35b0000,0x0198400a,
-0x0a000015,0xebfff061,0xe8bc4200,0xe3b04000,
-0xe1a0f00e,0xe24cc010,0xe3a07000,0xe3a08102,
-0xe3b0a100,0xe2eab901,0xeaffffeb,0xe1914002,
-0x0affff99,0xe2433001,0xe0922002,0xe0b11001,
-0x5afffffb,0xeaffff94,0xe3a01332,0xe3b02100,
-0xe2f23902,0xe3a04001,0xe1a0f00e,0xe3a01000,
-0xe3b02100,0xe2f33902,0xe3a04004,0xe8bc4200,
-0xe1a0f00e,0xe2844001,0xe35b0000,0x03a08102,
-0xe3a06901,0x0246b002,0x01a0f00e,0xe2466002,
-0xe04b6006,0xe3a05102,0xe153000b,0x01510008,
-0x0152000a,0x20888635,0x21a0f00e,0xe0588635,
-0x51a08088,0x524bb001,0xe2444001,0xe1a0f00e,
-0xc90fdaa2,0x00000000,0x0000401d,0xa2f9836e,
-0x4e44152a,0x00003ffe,0x95777a5c,0xf72cece6,
-0x00003fed,0xc9100000,0x00000000,0x00003fff,
-0x85bba783,0xb3c748a9,0x00003fea,0xa37b24c8,
-0x4a42092e,0x00003ff3,0xd23cf50b,0xf10aca84,
-0x00003ff9,0xeef5823f,0xdecea969,0x00003ffd,
-0x80000000,0x00000000,0x00003fff,0x95d5b975,
-0x16391da8,0x00003fef,0xe0741531,0xdd56f650,
-0x00003ff6,0x8895af2a,0x6847fcd5,0x00003ffc,
-0xe3190080,0x1affee00,0xe1b07e09,0x4afff7ab,
-0xe08c8c27,0xe898000f,0xe1b04d23,0xe28f7000,
-0x1afff279,0x1888000f,0xe1a04883,0xe2944802,
-0x0a000015,0xe1c00589,0xe92c4000,0xe1914002,
-0x12433001,0xebffff38,0x1a000012,0xe92c000f,
-0xebffefa1,0xe3a08102,0xe3b0a100,0xe2eab901,
-0xebffeef8,0xe1a07000,0xe1a08001,0xe1a0a002,
-0xe1a0b003,0xe8bc000f,0xebffeff0,0xe1914002,
-0x12833001,0xe8bc4000,0xeafffdc2,0xe1914002,
-0x03a014c9,0xeafff9cf,0xe8bc4000,0xe3540004,
-0x03a03000,0x03a00000,0x0afffdba,0xe3a014c9,
-0xe3b02100,0xe2e23902,0xeafff9c6,0xe3190080,
-0x1affedd1,0xe1b07e09,0x4afff780,0xe08c8c27,
-0xe898000f,0xe1b04d23,0xe28f7000,0x1afff24a,
-0x1888000f,0xe1b04883,0x0a00006b,0x52944802,
-0x4a000072,0xe92c4201,0xe3a00000,0xe3a05901,
-0xe2455002,0xe1530005,0xaa000009,0xe2094501,
-0xe92c0010,0xe3a04901,0xe2444021,0xe1530004,
-0xba000049,0xe92c000f,0xebffef6b,0xe92c000f,
-0xea000012,0xe2094501,0xe2244501,0xe92c0010,
-0xe3a00102,0xe3a08102,0xe3b0a100,0xe2eab901,
-0xebffeebc,0xe1914002,0x0a00003b,0xe2433001,
-0xe24cc010,0xe92c000f,0xebfff01c,0xe2200102,
-0xe2833001,0xe28c4010,0xe884000f,0xe89c000f,
-0xe28f9f59,0xe8b90d00,0xebffeef7,0xe89c0d80,
-0xebffef55,0xe8b90d00,0xebffeeaa,0xe89c0d80,
-0xebffef51,0xe8b90d00,0xebffeeef,0xe89c0d80,
-0xebffef4d,0xe8b90d00,0xebffeea2,0xe89c0d80,
-0xebffef49,0xe8b90d00,0xebffeee7,0xe89c0d80,
-0xe92c000f,0xe3a00102,0xe8b9000e,0xebffef42,
-0xe8b90d00,0xebffee97,0xe28c7010,0xe8970d80,
-0xebffef3d,0xe8b90d00,0xebffeedb,0xe28c7010,
-0xe8970d80,0xebffef38,0xe8b90d00,0xebffee8d,
-0xe28c7010,0xe8970d80,0xebffef33,0xe8b90d00,
-0xebffeed1,0xe28c7010,0xe8970d80,0xebffef2e,
-0xe8bc0d80,0xe28cc010,0xebffef80,0xe89c0d80,
-0xebffef29,0xe8bc0d80,0xebffee7b,0xe8bc0230,
-0xe3190501,0x0a000008,0xe3150102,0x028f5c01,
-0x128f5f46,0xe0855924,0x02200102,0xe8950d00,
-0xebffee74,0xe8bc4000,0xeafffd46,0xe3150102,
-0xe28f50dc,0xe0855924,0xe8950d00,0xebffee6d,
-0x12200102,0xe8bc4000,0xeafffd3e,0xe1915002,
-0x0affff93,0xe1b01001,0x4affff91,0xe2433001,
-0xe0922002,0xe0b11001,0x5afffffb,0xeaffff8c,
-0xe2f35901,0x01925081,0x0affff89,0xe2944802,
-0x1a000001,0xe1914002,0x1afff93e,0xe3a014ca,
-0xe3b02100,0xe2e23902,0xeafff93a,0xbe974377,
-0xcc30f9e6,0x00004003,0x96f3e4b2,0xc8e37cbc,
-0x00004006,0xbeee77e2,0xb5423cf3,0x00004007,
-0xd0927880,0xf5c2170b,0x00004007,0xa43601f1,
-0x5c3e6196,0x00004006,0xb25dedaf,0x30f3242c,
-0x00003ffe,0xa270bb27,0x61c93957,0x00004002,
-0x9ec1654d,0x36d4f820,0x00004004,0xe4d539b0,
-0x56a451ad,0x00004004,0xdaf2ad41,0xd05311c4,
-0x00004003,0x00000000,0x00000000,0x00000000,
-0x00000000,0xc90fdaa2,0x2168c235,0x00003fff,
-0xc90fdaa2,0x2168c235,0x00004000,0x00000000,
-0xc90fdaa2,0x2168c235,0x00003fff,0xe3190080,
-0x1affed19,0xe2096807,0xe08c6626,0xe896000f,
-0xe1b04d23,0xe28f7000,0x1afff193,0x1886000f,
-0xe2000102,0xe183b000,0xe1a0a002,0xe1a08001,
-0xe1b06e09,0x4afff6c9,0xe08c6c26,0xe896000f,
-0xe1b04d23,0xe28f7000,0x1afff187,0x1886000f,
-0xe1a0700b,0xe3cbb102,0xe1b04883,0x12944802,
-0x11b0588b,0x12955802,0x192c4281,0x1bffef0b,
-0x1a00004e,0xe1b04883,0x1a000010,0xe1915002,
-0x1a00000a,0xe1b0588b,0x0198600a,0x0a00001f,
-0xe2955802,0x1a000016,0xe198600a,0x0a000014,
-0xe1a01008,0xe1a0200a,0xe1a0300b,0xeafff8e1,
-0xe0922002,0xe0b11001,0xe2433001,0x5afffffb,
-0xe1b0588b,0x1a000019,0xe198600a,0x1a000013,
-0xe2944802,0x1a000001,0xe1916002,0x1afff8d5,
-0xe1a04000,0xe1a05007,0xe28f0fbd,0xe890000e,
-0xea00008c,0xe1a04000,0xe1a05007,0xe3a00000,
-0xe3a01000,0xe3a02000,0xe3a03000,0xea00007d,
-0xe3a014cb,0xe3b02100,0xe2e23902,0xeafff8c5,
-0xe09aa00a,0xe0b88008,0xe24bb001,0x5afffffb,
-0xe2956802,0x12946802,0x1affffca,0xe2946802,
-0x1a000006,0xe1916002,0x1afff8ba,0xe2956802,
-0x1affffe2,0xe198600a,0x03a014cb,0x0afff8b5,
-0xe198600a,0x0affffe2,0xe1a01008,0xe1a0200a,
-0xe1a0300b,0xeafff8af,0xe3190080,0x1affecba,
-0xe1b07e09,0x4afff671,0xe08c8c27,0xe898000f,
-0xe1b04d23,0xe28f7000,0x1afff133,0x1888000f,
-0xe1b04883,0x12944802,0x0a000060,0xe92c4281,
-0xe3b00100,0xe2f34901,0xdbffeeb0,0xd3a04002,
-0xc3a04000,0xe28f9d06,0xe8b90d00,0xe153000b,
-0x01510008,0x0152000a,0xc2844001,0xe92c0010,
-0xda00000d,0xe92c000f,0xe8990d00,0xebffedad,
-0xe8bc0d80,0xe92c000f,0xe3a00000,0xe8b9000e,
-0xebffee51,0xe3a08102,0xe3b0a100,0xe2eab901,
-0xebffeded,0xe8bc0d80,0xebffeea0,0xe3a04901,
-0xe2444021,0xe1530004,0xba00002c,0xe92c000f,
-0xebffee41,0xe92c000f,0xe28f9f49,0xe8b90d00,
-0xebffed98,0xe89c0d80,0xebffee3f,0xe8b90d00,
-0xebffed94,0xe89c0d80,0xebffee3b,0xe8b90d00,
-0xebffed90,0xe89c0d80,0xebffee37,0xe8b90d00,
-0xebffed8c,0xe89c0d80,0xe92c000f,0xe3a00102,
-0xe8b9000e,0xebffee30,0xe8b90d00,0xebffedce,
-0xe28c7010,0xe8970d80,0xebffee2b,0xe8b90d00,
-0xebffedc9,0xe28c7010,0xe8970d80,0xebffee26,
-0xe8b90d00,0xebffedc4,0xe28c7010,0xe8970d80,
-0xebffee21,0xe8bc0d80,0xe28cc010,0xebffee73,
-0xe89c0d80,0xebffee1c,0xe8bc0d80,0xebffed6e,
-0xe28f90dc,0xe8bc0010,0xe0200f04,0xe0899204,
-0xe8990d00,0xebffed6b,0xe8bc4230,0xe3190601,
-0x10200004,0x1afffc3b,0xe3150102,0x0a000005,
-0xe92c4010,0xe2200102,0xe24f7d0d,0xe8970d00,
-0xebffed60,0xe8bc4010,0xe0200004,0xeafffc31,
-0xe3530000,0x0afffc2f,0xe1914002,0x1afff83d,
-0xe28f009c,0xe890000e,0xeafffc2a,0x8930a2f4,
-0xf66ab18a,0x00003ffd,0xddb3d742,0xc265539e,
-0x00003fff,0xf0624f0a,0x56388310,0x00004002,
-0xee505190,0x6d1eb4e8,0x00004004,0xac509020,
-0x5b6d243b,0x00004005,0xa443e5e6,0x24ad4b90,
-0x00004004,0xd66bd6cd,0x8c3de934,0x00003ffe,
-0x87e9fae4,0x6b531a29,0x00004002,0xa40bfdcf,
-0x15e65691,0x00004003,0xdb053288,0x30e70eb4,
-0x00004002,0x00000000,0x00000000,0x00000000,
-0x00000000,0x860a91c1,0x6b9b2c23,0x00003ffe,
-0x00000000,0xc90fdaa2,0x2168c235,0x00003fff,
-0x00000000,0x860a91c1,0x6b9b2c23,0x00003fff,
-0xe92d5001,0xe24fc05c,0xe24ccc50,0xe3a00807,
-0xe58c0080,0xe8bd9001,0xe1a00000,0xe3100001,
-0x128f0e15,0x1a00000a,0xe3100004,0x128f0f47,
-0x1a000007,0xe3100002,0x128f00e0,0x1a000004,
-0xe3100008,0x128f00a8,0x1a000001,0xe28f0070,
-0xeaffffff,0xe28f101c,0xe14fb000,0xe8bd07f8,
-0xe8a107f8,0xe8bd07f8,0xe24aa004,0xe8a10ff8,
-0xe28f1000,0xef000071,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00000000,
-0x00000000,0x00000000,0x00000000,0x00002278,
-0xffffffff,0x80000204,0x616f6c46,0x676e6974,
-0x696f5020,0x4520746e,0x70656378,0x6e6f6974,
-0x49203a20,0x6178656e,0x52207463,0x6c757365,
-0x00000074,0x80000203,0x616f6c46,0x676e6974,
-0x696f5020,0x4520746e,0x70656378,0x6e6f6974,
-0x55203a20,0x7265646e,0x776f6c66,0x00000000,
-0x80000202,0x616f6c46,0x676e6974,0x696f5020,
-0x4520746e,0x70656378,0x6e6f6974,0x44203a20,
-0x64697669,0x79422065,0x72655a20,0x0000006f,
-0x80000201,0x616f6c46,0x676e6974,0x696f5020,
-0x4520746e,0x70656378,0x6e6f6974,0x4f203a20,
-0x66726576,0x00776f6c,0x80000200,0x616f6c46,
-0x676e6974,0x696f5020,0x4520746e,0x70656378,
-0x6e6f6974,0x49203a20,0x6c61766e,0x4f206469,
-0x61726570,0x6e6f6974,0x00000000,0xfefefeff,0} ;
-
-unsigned long fpesize = 0x00005300 ;
diff --git a/sim/arm/armopts.h b/sim/arm/armopts.h
deleted file mode 100644
index 6ec0f2f..0000000
--- a/sim/arm/armopts.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* armopts.h -- ARMulator configuration options: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Define one of ARM60 or ARM61 */
-#ifndef ARM60
-#ifndef ARM61
-#define ARM60
-#endif
-#endif
-
-/* define for a little endian ARMulator */
-#ifndef LITTLEEND
-#ifndef BIGEND
-#define LITTLEEND
-#endif
-#endif
diff --git a/sim/arm/armos.c b/sim/arm/armos.c
deleted file mode 100644
index 71ca8ff..0000000
--- a/sim/arm/armos.c
+++ /dev/null
@@ -1,968 +0,0 @@
-/* armos.c -- ARMulator OS interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This file contains a model of Demon, ARM Ltd's Debug Monitor,
-including all the SWI's required to support the C library. The code in
-it is not really for the faint-hearted (especially the abort handling
-code), but it is a complete example. Defining NOOS will disable all the
-fun, and definign VAILDATE will define SWI 1 to enter SVC mode, and SWI
-0x11 to halt the emulator. */
-
-#include "config.h"
-
-#include <time.h>
-#include <errno.h>
-#include <string.h>
-#include <fcntl.h>
-
-#ifndef O_RDONLY
-#define O_RDONLY 0
-#endif
-#ifndef O_WRONLY
-#define O_WRONLY 1
-#endif
-#ifndef O_RDWR
-#define O_RDWR 2
-#endif
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-#ifdef __STDC__
-#define unlink(s) remove(s)
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* For SEEK_SET etc */
-#endif
-
-#ifdef __riscos
-extern int _fisatty(FILE *);
-#define isatty_(f) _fisatty(f)
-#else
-#ifdef __ZTC__
-#include <io.h>
-#define isatty_(f) isatty((f)->_file)
-#else
-#ifdef macintosh
-#include <ioctl.h>
-#define isatty_(f) (~ioctl((f)->_file,FIOINTERACTIVE,NULL))
-#else
-#define isatty_(f) isatty(fileno(f))
-#endif
-#endif
-#endif
-
-#include "armdefs.h"
-#include "armos.h"
-#ifndef NOOS
-#ifndef VALIDATE
-/* #ifndef ASIM */
-#include "armfpe.h"
-/* #endif */
-#endif
-#endif
-
-/* For RDIError_BreakpointReached. */
-#include "dbg_rdi.h"
-
-extern unsigned ARMul_OSInit(ARMul_State *state) ;
-extern void ARMul_OSExit(ARMul_State *state) ;
-extern unsigned ARMul_OSHandleSWI(ARMul_State *state,ARMword number) ;
-extern unsigned ARMul_OSException(ARMul_State *state, ARMword vector, ARMword pc) ;
-extern ARMword ARMul_OSLastErrorP(ARMul_State *state) ;
-extern ARMword ARMul_Debug(ARMul_State *state, ARMword pc, ARMword instr) ;
-
-#define BUFFERSIZE 4096
-#ifndef FOPEN_MAX
-#define FOPEN_MAX 64
-#endif
-#define UNIQUETEMPS 256
-
-#ifndef NOOS
-static void UnwindDataAbort(ARMul_State *state, ARMword addr);
-static void getstring(ARMul_State *state, ARMword from, char *to) ;
-#endif
-
-/***************************************************************************\
-* OS private Information *
-\***************************************************************************/
-
-struct OSblock {
- ARMword Time0 ;
- ARMword ErrorP ;
- ARMword ErrorNo ;
- FILE *FileTable[FOPEN_MAX] ;
- char FileFlags[FOPEN_MAX] ;
- char *tempnames[UNIQUETEMPS] ;
- } ;
-
-#define NOOP 0
-#define BINARY 1
-#define READOP 2
-#define WRITEOP 4
-
-#ifdef macintosh
-#define FIXCRLF(t,c) ((t & BINARY)?c:((c=='\n'||c=='\r')?(c ^ 7):c))
-#else
-#define FIXCRLF(t,c) c
-#endif
-
-static ARMword softvectorcode[] =
-{ /* basic: swi tidyexception + event; mov pc, lr;
- ldmia r11,{r11,pc}; swi generateexception + event
- */
- 0xef000090, 0xe1a0e00f, 0xe89b8800, 0xef000080, /*Reset*/
- 0xef000091, 0xe1a0e00f, 0xe89b8800, 0xef000081, /*Undef*/
- 0xef000092, 0xe1a0e00f, 0xe89b8800, 0xef000082, /*SWI */
- 0xef000093, 0xe1a0e00f, 0xe89b8800, 0xef000083, /*Prefetch abort*/
- 0xef000094, 0xe1a0e00f, 0xe89b8800, 0xef000084, /*Data abort*/
- 0xef000095, 0xe1a0e00f, 0xe89b8800, 0xef000085, /*Address exception*/
- 0xef000096, 0xe1a0e00f, 0xe89b8800, 0xef000086, /*IRQ*/
- 0xef000097, 0xe1a0e00f, 0xe89b8800, 0xef000087, /*FIQ*/
- 0xef000098, 0xe1a0e00f, 0xe89b8800, 0xef000088, /*Error*/
- 0xe1a0f00e /* default handler */
-};
-
-/***************************************************************************\
-* Time for the Operating System to initialise itself. *
-\***************************************************************************/
-
-unsigned ARMul_OSInit(ARMul_State *state)
-{
-#ifndef NOOS
-#ifndef VALIDATE
- ARMword instr, i , j ;
- struct OSblock* OSptr = (struct OSblock*)state->OSptr;
-
- if (state->OSptr == NULL) {
- state->OSptr = (unsigned char *)malloc(sizeof(struct OSblock));
- if (state->OSptr == NULL) {
- perror("OS Memory");
- exit(15);
- }
- }
- OSptr = (struct OSblock*)state->OSptr;
- OSptr->ErrorP = 0;
- state->Reg[13] = ADDRSUPERSTACK; /* set up a stack for the current mode */
- ARMul_SetReg(state,SVC32MODE,13,ADDRSUPERSTACK); /* and for supervisor mode */
- ARMul_SetReg(state,ABORT32MODE,13,ADDRSUPERSTACK); /* and for abort 32 mode */
- ARMul_SetReg(state,UNDEF32MODE,13,ADDRSUPERSTACK); /* and for undef 32 mode */
- instr = 0xe59ff000 | (ADDRSOFTVECTORS - 8); /* load pc from soft vector */
- for (i = ARMul_ResetV ; i <= ARMFIQV ; i += 4)
- ARMul_WriteWord(state, i, instr); /* write hardware vectors */
- for (i = ARMul_ResetV ; i <= ARMFIQV + 4 ; i += 4) {
- ARMul_WriteWord(state, ADDRSOFTVECTORS + i, SOFTVECTORCODE + i * 4);
- ARMul_WriteWord(state, ADDRSOFHANDLERS + 2*i + 4L, SOFTVECTORCODE + sizeof(softvectorcode) - 4L);
- }
- for (i = 0 ; i < sizeof(softvectorcode) ; i += 4)
- ARMul_WriteWord(state, SOFTVECTORCODE + i, softvectorcode[i/4]);
- for (i = 0 ; i < FOPEN_MAX ; i++)
- OSptr->FileTable[i] = NULL ;
- for (i = 0 ; i < UNIQUETEMPS ; i++)
- OSptr->tempnames[i] = NULL ;
- ARMul_ConsolePrint (state, ", Demon 1.01");
-
-/* #ifndef ASIM */
-
- /* install fpe */
- for (i = 0 ; i < fpesize ; i+=4) /* copy the code */
- ARMul_WriteWord(state,FPESTART + i,fpecode[i >> 2]) ;
- for (i = FPESTART + fpesize ; ; i-=4) { /* reverse the error strings */
- if ((j = ARMul_ReadWord(state,i)) == 0xffffffff)
- break ;
- if (state->bigendSig && j < 0x80000000) { /* it's part of the string so swap it */
- j = ((j >> 0x18) & 0x000000ff) |
- ((j >> 0x08) & 0x0000ff00) |
- ((j << 0x08) & 0x00ff0000) |
- ((j << 0x18) & 0xff000000) ;
- ARMul_WriteWord(state,i,j) ;
- }
- }
- ARMul_WriteWord(state,FPEOLDVECT,ARMul_ReadWord(state,4)) ; /* copy old illegal instr vector */
- ARMul_WriteWord(state,4,FPENEWVECT(ARMul_ReadWord(state,i-4))) ; /* install new vector */
- ARMul_ConsolePrint (state, ", FPE") ;
-
-/* #endif /* ASIM */
-#endif /* VALIDATE */
-#endif /* NOOS */
-
- return(TRUE) ;
-}
-
-void ARMul_OSExit(ARMul_State *state)
-{
- free((char *)state->OSptr) ;
-}
-
-
-/***************************************************************************\
-* Return the last Operating System Error. *
-\***************************************************************************/
-
-ARMword ARMul_OSLastErrorP(ARMul_State *state)
-{
- return ((struct OSblock *)state->OSptr)->ErrorP;
-}
-
-/***************************************************************************\
-* The emulator calls this routine when a SWI instruction is encuntered. The *
-* parameter passed is the SWI number (lower 24 bits of the instruction). *
-\***************************************************************************/
-
-#if 1
-/* This is the cygnus way of doing it, which makes it simple
- to do our tests */
-
-
-static int translate_open_mode[] =
-{
- O_RDONLY, /* "r" */
- O_RDONLY+O_BINARY, /* "rb" */
- O_RDWR, /* "r+" */
- O_RDWR +O_BINARY, /* "r+b" */
- O_WRONLY +O_CREAT+O_TRUNC, /* "w" */
- O_WRONLY+O_BINARY+O_CREAT+O_TRUNC, /* "wb" */
- O_RDWR +O_CREAT+O_TRUNC, /* "w+" */
- O_RDWR +O_BINARY+O_CREAT+O_TRUNC, /* "w+b" */
- O_WRONLY +O_APPEND+O_CREAT,/* "a" */
- O_WRONLY+O_BINARY+O_APPEND+O_CREAT,/* "ab" */
- O_RDWR +O_APPEND+O_CREAT,/* "a+" */
- O_RDWR +O_BINARY+O_APPEND+O_CREAT /* "a+b" */
-};
-
-unsigned ARMul_OSHandleSWI(ARMul_State *state,ARMword number)
-{
- ARMword addr, temp, fildes ;
- char buffer[BUFFERSIZE], *cptr ;
- FILE *fptr ;
- struct OSblock* OSptr = (struct OSblock*)state->OSptr ;
-
- switch (number)
- {
- case SWI_Read:
- {
- int f = state->Reg[0];
- int ptr = state->Reg[1];
- int len = state->Reg[2];
- int res;
- int i;
- char *local = malloc (len);
- res = read (f,local, len);
- if (res > 0)
- for (i = 0; i < res; i++)
- ARMul_WriteByte(state, ptr + i, local[i]) ;
- free (local);
- state->Reg[0] = res == -1 ? -1 : len - res;
- OSptr->ErrorNo = errno;
- return TRUE;
- }
-
- case SWI_Write:
- {
- int f = state->Reg[0];
- int ptr = state->Reg[1];
- int len = state->Reg[2];
- int res;
- int i;
- char *local = malloc (len);
-
- for (i = 0; i < len; i++)
- {
- local[i] = ARMul_ReadByte(state, ptr + i);
- }
- res = write (f, local, len);
- state->Reg[0] = res == -1 ? -1 : len - res;
- free (local);
- OSptr->ErrorNo = errno;
- return TRUE;
- }
-
- case SWI_Open:
- {
- char dummy[2000];
- int i;
- int flags;
-
- for (i = 0;
- dummy[i] = ARMul_ReadByte(state, state->Reg[0] + i);
- i++)
- ;
-
- /* Now we need to decode the Demon open mode */
- flags = translate_open_mode[state->Reg[1]];
-
- /* Filename ":tt" is special: it denotes stdin/out */
- if (strcmp (dummy, ":tt") == 0)
- {
- if (flags == O_RDONLY) /* opening tty "r" */
- state->Reg[0] = 0 /* stdin */ ;
- else
- state->Reg[0] = 1 /* stdout */ ;
- }
- else
- {
- state->Reg[0] = (int) open (dummy, flags);
- OSptr->ErrorNo = errno;
- }
-
- return TRUE;
- }
-
- case SWI_Clock :
- /* return number of centi-seconds... */
- state->Reg[0] =
-#ifdef CLOCKS_PER_SEC
- (CLOCKS_PER_SEC >= 100)
- ? (ARMword) (clock() / (CLOCKS_PER_SEC / 100))
- : (ARMword) ((clock() * 100) / CLOCKS_PER_SEC) ;
-#else
- /* presume unix... clock() returns microseconds */
- (ARMword) (clock() / 10000) ;
-#endif
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Time :
- state->Reg[0] = (ARMword)time(NULL) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Close:
- state->Reg[0] = close (state->Reg[0]);
- OSptr->ErrorNo = errno;
- return TRUE;
-
- case SWI_Flen :
- if (state->Reg[0] == 0 || state->Reg[0] > FOPEN_MAX)
- {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- fildes = state->Reg[0];
- addr = lseek(fildes, 0, SEEK_CUR);
- if (addr < 0)
- state->Reg[0] = -1L ;
- else
- {
- state->Reg[0] = lseek(fildes, 0L, SEEK_END);
- (void)lseek(fildes, addr, SEEK_SET);
- }
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
-
- case SWI_Exit:
- state->Emulate = FALSE ;
- return TRUE;
-
- case SWI_Seek:
- {
- /* We must return non-zero for failure */
- state->Reg[0] = -1 >= lseek (state->Reg[0],
- state->Reg[1],
- SEEK_SET);
- OSptr->ErrorNo = errno;
- return TRUE;
- }
-
- case SWI_WriteC :
- (void)fputc((int)state->Reg[0],stderr) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Write0 :
- addr = state->Reg[0] ;
- while ((temp = ARMul_ReadByte(state,addr++)) != 0)
- (void)fputc((char)temp,stderr) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_GetErrno :
- state->Reg[0] = OSptr->ErrorNo ;
- return(TRUE) ;
-
- case SWI_Breakpoint :
- state->EndCondition = RDIError_BreakpointReached ;
- state->Emulate = FALSE ;
- return(TRUE) ;
-
- case SWI_GetEnv :
- state->Reg[0] = ADDRCMDLINE ;
- if (state->MemSize)
- state->Reg[1] = state->MemSize ;
- else
- state->Reg[1] = ADDRUSERSTACK ;
-
- addr = state->Reg[0] ;
- cptr = state->CommandLine ;
- if (cptr == NULL)
- cptr = "\0" ;
- do {
- temp = (ARMword)*cptr++ ;
- ARMul_WriteByte(state,addr++,temp) ;
- } while (temp != 0) ;
- return(TRUE) ;
-
- case AngelSWI_ARM:
- case AngelSWI_Thumb:
- /* Ignore these SWIs (for now). */
- return TRUE;
-
- default :
- state->Emulate = FALSE ;
- return(FALSE) ;
- }
-}
-#else
-unsigned ARMul_OSHandleSWI(ARMul_State *state,ARMword number)
-{
-#ifdef NOOS
- return(FALSE) ;
-#else
-#ifdef VALIDATE
- switch (number) {
- case 0x11 :
- state->Emulate = FALSE ;
- return(TRUE) ;
- case 0x01 :
- if (ARM32BITMODE)
- ARMul_SetCPSR(state, (ARMul_GetCPSR(state) & 0xffffffc0) | 0x13) ;
- else
- ARMul_SetCPSR(state, (ARMul_GetCPSR(state) & 0xffffffc0) | 0x3) ;
- return(TRUE) ;
- default :
- return(FALSE) ;
- }
-#else
- ARMword addr, temp ;
- char buffer[BUFFERSIZE], *cptr ;
- FILE *fptr ;
- struct OSblock* OSptr = (struct OSblock*)state->OSptr ;
-
- switch (number) {
- case SWI_WriteC :
- (void)fputc((int)state->Reg[0],stderr) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Write0 :
- addr = state->Reg[0] ;
- while ((temp = ARMul_ReadByte(state,addr++)) != 0)
- fputc((char)temp,stderr) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_ReadC :
- state->Reg[0] = (ARMword)fgetc(stdin) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_CLI :
- addr = state->Reg[0] ;
- getstring(state,state->Reg[0],buffer) ;
- state->Reg[0] = (ARMword)system(buffer) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_GetEnv :
- state->Reg[0] = ADDRCMDLINE ;
- if (state->MemSize)
- state->Reg[1] = state->MemSize ;
- else
- state->Reg[1] = ADDRUSERSTACK ;
-
- addr = state->Reg[0] ;
- cptr = state->CommandLine ;
- if (cptr == NULL)
- cptr = "\0" ;
- do {
- temp = (ARMword)*cptr++ ;
- ARMul_WriteByte(state,addr++,temp) ;
- } while (temp != 0) ;
- return(TRUE) ;
-
- case SWI_Exit :
-#ifdef ASIM
- simkernel1_abort_run() ;
-#else
- state->Emulate = FALSE ;
-#endif
- return(TRUE) ;
-
- case SWI_EnterOS :
- if (ARM32BITMODE)
- ARMul_SetCPSR(state, (ARMul_GetCPSR(state) & 0xffffffc0) | 0x13) ;
- else
- ARMul_SetCPSR(state, (ARMul_GetCPSR(state) & 0xffffffc0) | 0x3) ;
- return(TRUE) ;
-
- case SWI_GetErrno :
- state->Reg[0] = OSptr->ErrorNo ;
- return(TRUE) ;
-
- case SWI_Clock :
- /* return muber of centi-seconds... */
- state->Reg[0] =
-#ifdef CLOCKS_PER_SEC
- (CLOCKS_PER_SEC >= 100)
- ? (ARMword) (clock() / (CLOCKS_PER_SEC / 100))
- : (ARMword) ((clock() * 100) / CLOCKS_PER_SEC) ;
-#else
- /* presume unix... clock() returns microseconds */
- (ARMword) (clock() / 10000) ;
-#endif
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Time :
- state->Reg[0] = (ARMword)time(NULL) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Remove :
- getstring(state,state->Reg[0],buffer) ;
- state->Reg[0] = unlink(buffer) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Rename : {
- char buffer2[BUFFERSIZE] ;
-
- getstring(state,state->Reg[0],buffer) ;
- getstring(state,state->Reg[1],buffer2) ;
- state->Reg[0] = rename(buffer,buffer2) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
-
- case SWI_Open : {
-#if 0
- /* It seems to me that these are in the wrong order
- sac@cygnus.com, so I've redone it to use the
- flags instead, with the functionality which was already
- there -- ahh, perhaps the TRUNC bit is in a different
- place on the original host ?*/
- static char* fmode[] = {"r","rb","r+","r+b",
- "w","wb","w+","w+b",
- "a","ab","a+","a+b",
- "r","r","r","r"} /* last 4 are illegal */ ;
-#endif
-
- unsigned type ;
-
- type = (unsigned)(state->Reg[1] & 3L) ;
- getstring(state,state->Reg[0],buffer) ;
- if (strcmp(buffer,":tt")==0 && (type == O_RDONLY )) /* opening tty "r" */
- fptr = stdin ;
- else if (strcmp(buffer,":tt")==0 && (type == O_WRONLY)) /* opening tty "w" */
- fptr = stderr ;
- else
- {
- switch (type)
- {
- case O_RDONLY:
- fptr = fopen(buffer,"r") ;
- break;
- case O_WRONLY:
- fptr = fopen(buffer,"w") ;
- break;
- case O_RDWR:
- fptr = fopen(buffer,"rw") ;
- break;
- }
- }
-
- state->Reg[0] = 0 ;
- if (fptr != NULL) {
- for (temp = 0 ; temp < FOPEN_MAX ; temp++)
- if (OSptr->FileTable[temp] == NULL) {
- OSptr->FileTable[temp] = fptr ;
- OSptr->FileFlags[temp] = type & 1 ; /* preserve the binary bit */
- state->Reg[0] = (ARMword)(temp + 1) ;
- break ;
- }
- if (state->Reg[0] == 0)
- OSptr->ErrorNo = EMFILE ; /* too many open files */
- else
- OSptr->ErrorNo = errno ;
- }
- else
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
-
- case SWI_Close :
- temp = state->Reg[0] ;
- if (temp == 0 || temp > FOPEN_MAX || OSptr->FileTable[temp - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- temp-- ;
- fptr = OSptr->FileTable[temp] ;
- if (fptr == stdin || fptr == stderr)
- state->Reg[0] = 0 ;
- else
- state->Reg[0] = fclose(fptr) ;
- OSptr->FileTable[temp] = NULL ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Write : {
- unsigned size, upto, type ;
- char ch ;
-
- temp = state->Reg[0] ;
- if (temp == 0 || temp > FOPEN_MAX || OSptr->FileTable[temp - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- temp-- ;
- fptr = OSptr->FileTable[temp] ;
- type = OSptr->FileFlags[temp] ;
- addr = state->Reg[1] ;
- size = (unsigned)state->Reg[2] ;
-
- if (type & READOP)
- fseek(fptr,0L,SEEK_CUR) ;
- OSptr->FileFlags[temp] = (type & BINARY) | WRITEOP ; ;
- while (size > 0) {
- if (size >= BUFFERSIZE)
- upto = BUFFERSIZE ;
- else
- upto = size ;
- for (cptr = buffer ; (cptr - buffer) < upto ; cptr++) {
- ch = (char)ARMul_ReadByte(state,(ARMword)addr++) ;
- *cptr = FIXCRLF(type,ch) ;
- }
- temp = fwrite(buffer,1,upto,fptr) ;
- if (temp < upto) {
- state->Reg[0] = (ARMword)(size - temp) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
- size -= upto ;
- }
- state->Reg[0] = 0 ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
-
- case SWI_Read : {
- unsigned size, upto, type ;
- char ch ;
-
- temp = state->Reg[0] ;
- if (temp == 0 || temp > FOPEN_MAX || OSptr->FileTable[temp - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- temp-- ;
- fptr = OSptr->FileTable[temp] ;
- addr = state->Reg[1] ;
- size = (unsigned)state->Reg[2] ;
- type = OSptr->FileFlags[temp] ;
-
- if (type & WRITEOP)
- fseek(fptr,0L,SEEK_CUR) ;
- OSptr->FileFlags[temp] = (type & BINARY) | READOP ; ;
- while (size > 0) {
- if (isatty_(fptr)) {
- upto = (size >= BUFFERSIZE)?BUFFERSIZE:size + 1 ;
- if (fgets(buffer, upto, fptr) != 0)
- temp = strlen(buffer) ;
- else
- temp = 0 ;
- upto-- ; /* 1 char used for terminating null */
- }
- else {
- upto = (size>=BUFFERSIZE)?BUFFERSIZE:size ;
- temp = fread(buffer,1,upto,fptr) ;
- }
- for (cptr = buffer ; (cptr - buffer) < temp ; cptr++) {
- ch = *cptr ;
- ARMul_WriteByte(state,(ARMword)addr++,FIXCRLF(type,ch)) ;
- }
- if (temp < upto) {
- state->Reg[0] = (ARMword)(size - temp) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
- size -= upto ;
- }
- state->Reg[0] = 0 ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
-
- case SWI_Seek :
- if (state->Reg[0] == 0 || state->Reg[0] > FOPEN_MAX
- || OSptr->FileTable[state->Reg[0] - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- fptr = OSptr->FileTable[state->Reg[0] - 1] ;
- state->Reg[0] = fseek(fptr,(long)state->Reg[1],SEEK_SET) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_Flen :
- if (state->Reg[0] == 0 || state->Reg[0] > FOPEN_MAX
- || OSptr->FileTable[state->Reg[0] - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- fptr = OSptr->FileTable[state->Reg[0] - 1] ;
- addr = (ARMword)ftell(fptr) ;
- if (fseek(fptr,0L,SEEK_END) < 0)
- state->Reg[0] = -1 ;
- else {
- state->Reg[0] = (ARMword)ftell(fptr) ;
- (void)fseek(fptr,addr,SEEK_SET) ;
- }
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_IsTTY :
- if (state->Reg[0] == 0 || state->Reg[0] > FOPEN_MAX
- || OSptr->FileTable[state->Reg[0] - 1] == 0) {
- OSptr->ErrorNo = EBADF ;
- state->Reg[0] = -1L ;
- return(TRUE) ;
- }
- fptr = OSptr->FileTable[state->Reg[0] - 1] ;
- state->Reg[0] = isatty_(fptr) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
-
- case SWI_TmpNam :{
- ARMword size ;
-
- addr = state->Reg[0] ;
- temp = state->Reg[1] & 0xff ;
- size = state->Reg[2] ;
- if (OSptr->tempnames[temp] == NULL) {
- if ((OSptr->tempnames[temp] = malloc(L_tmpnam)) == NULL) {
- state->Reg[0] = 0 ;
- return(TRUE) ;
- }
- (void)tmpnam(OSptr->tempnames[temp]) ;
- }
- cptr = OSptr->tempnames[temp] ;
- if (strlen(cptr) > state->Reg[2])
- state->Reg[0] = 0 ;
- else
- do {
- ARMul_WriteByte(state,addr++,*cptr) ;
- } while (*cptr++ != 0) ;
- OSptr->ErrorNo = errno ;
- return(TRUE) ;
- }
-
- case SWI_InstallHandler:
- { ARMword handlerp = ADDRSOFHANDLERS + state->Reg[0] * 8;
- ARMword oldr1 = ARMul_ReadWord(state, handlerp),
- oldr2 = ARMul_ReadWord(state, handlerp + 4);
- ARMul_WriteWord(state, handlerp, state->Reg[1]);
- ARMul_WriteWord(state, handlerp + 4, state->Reg[2]);
- state->Reg[1] = oldr1;
- state->Reg[2] = oldr2;
- return(TRUE);
- }
-
- case SWI_GenerateError:
- ARMul_Abort(state, ARMSWIV) ;
- if (state->Emulate)
- ARMul_SetR15(state, ARMul_ReadWord(state, ADDRSOFTVECTORS + ARMErrorV));
- return(TRUE);
-
-/* SWI's 0x9x unwind the state of the CPU after an abort of type x */
-
- case 0x90: /* Branch through zero */
- { ARMword oldpsr = ARMul_GetCPSR(state) ;
- ARMul_SetCPSR(state, (oldpsr & 0xffffffc0) | 0x13) ;
- ARMul_SetSPSR(state, SVC32MODE, oldpsr) ;
- state->Reg[14] = 0;
- goto TidyCommon;
- }
-
- case 0x98: /* Error */
- { ARMword errorp = state->Reg[0],
- regp = state->Reg[1];
- unsigned i;
- ARMword errorpsr = ARMul_ReadWord(state, regp + 16*4);
- for (i = 0; i < 15; i++)
- ARMul_SetReg(state,errorpsr,i,ARMul_ReadWord(state, regp + i*4L)) ;
- state->Reg[14] = ARMul_ReadWord(state, regp + 15*4L);
- state->Reg[10] = errorp;
- ARMul_SetSPSR(state,state->Mode,errorpsr) ;
- OSptr->ErrorP = errorp;
- goto TidyCommon;
- }
-
- case 0x94: /* Data abort */
- { ARMword addr = state->Reg[14] - 8;
- ARMword cpsr = ARMul_GetCPSR(state) ;
- if (ARM26BITMODE)
- addr = addr & 0x3fffffc ;
- ARMul_SetCPSR(state,ARMul_GetSPSR(state,cpsr)) ;
- UnwindDataAbort(state, addr);
- if (addr >= FPESTART && addr < FPEEND) { /* in the FPE */
- ARMword sp, spsr ;
- unsigned i ;
-
- sp = state->Reg[13] ;
- state->Reg[13] += 64 ; /* fix the aborting mode sp */
- state->Reg[14] = ARMul_ReadWord(state,sp + 60) ; /* and its lr */
- spsr = ARMul_GetSPSR(state,state->Mode) ;
- state->Mode = ARMul_SwitchMode(state, state->Mode, spsr);
- for (i = 0 ; i < 15 ; i++) {
- ARMul_SetReg(state,spsr,i,ARMul_ReadWord(state,sp)) ;
- sp += 4 ;
- }
- ARMul_SetCPSR(state,cpsr) ;
- state->Reg[14] = ARMul_ReadWord(state,sp) + 4 ; /* botch it */
- ARMul_SetSPSR(state,state->Mode,spsr) ;
- }
- else
- ARMul_SetCPSR(state,cpsr) ;
-
- /* and fall through to correct r14 */
- }
- case 0x95: /* Address Exception */
- state->Reg[14] -= 4;
- case 0x91: /* Undefined instruction */
- case 0x92: /* SWI */
- case 0x93: /* Prefetch abort */
- case 0x96: /* IRQ */
- case 0x97: /* FIQ */
- state->Reg[14] -= 4;
- TidyCommon:
- if (state->VectorCatch & (1 << (number - 0x90))) {
- ARMul_SetR15(state, state->Reg[14] + 8) ; /* the 8 is the pipelining the the RDI will undo */
- ARMul_SetCPSR(state,ARMul_GetSPSR(state,ARMul_GetCPSR(state))) ;
- if (number == 0x90)
- state->EndCondition = 10 ; /* Branch through Zero Error */
- else
- state->EndCondition = (unsigned)number - 0x8f;
- state->Emulate = FALSE ;
- }
- else {
- ARMword sp = state->Reg[13];
- ARMul_WriteWord(state, sp - 4, state->Reg[14]);
- ARMul_WriteWord(state, sp - 8, state->Reg[12]);
- ARMul_WriteWord(state, sp - 12, state->Reg[11]);
- ARMul_WriteWord(state, sp - 16, state->Reg[10]);
- state->Reg[13] = sp - 16;
- state->Reg[11] = ADDRSOFHANDLERS + 8 * (number - 0x90);
- }
- return(TRUE);
-
-/* SWI's 0x8x pass an abort of type x to the debugger if a handler returns */
-
- case 0x80: case 0x81: case 0x82: case 0x83:
- case 0x84: case 0x85: case 0x86: case 0x87: case 0x88:
- { ARMword sp = state->Reg[13];
- state->Reg[10] = ARMul_ReadWord(state, sp);
- state->Reg[11] = ARMul_ReadWord(state, sp + 4);
- state->Reg[12] = ARMul_ReadWord(state, sp + 8);
- state->Reg[14] = ARMul_ReadWord(state, sp + 12);
- state->Reg[13] = sp + 16;
- ARMul_SetR15(state, state->Reg[14] + 8) ; /* the 8 is the pipelining the the RDI will undo */
- ARMul_SetCPSR(state,ARMul_GetSPSR(state,ARMul_GetCPSR(state))) ;
- if (number == 0x80)
- state->EndCondition = 10 ; /* Branch through Zero Error */
- else
- state->EndCondition = (unsigned)number - 0x7f;
- state->Emulate = FALSE ;
- return(TRUE);
- }
-
- default :
- state->Emulate = FALSE ;
- return(FALSE) ;
- }
-#endif
-#endif
- }
-#endif
-
-#ifndef NOOS
-#ifndef ASIM
-
-/***************************************************************************\
-* The emulator calls this routine when an Exception occurs. The second *
-* parameter is the address of the relevant exception vector. Returning *
-* FALSE from this routine causes the trap to be taken, TRUE causes it to *
-* be ignored (so set state->Emulate to FALSE!). *
-\***************************************************************************/
-
-unsigned ARMul_OSException(ARMul_State *state, ARMword vector, ARMword pc)
-{ /* don't use this here */
- return(FALSE) ;
-}
-
-#endif
-
-/***************************************************************************\
-* Unwind a data abort *
-\***************************************************************************/
-
-static void UnwindDataAbort(ARMul_State *state, ARMword addr)
-{
- ARMword instr = ARMul_ReadWord(state, addr);
- ARMword rn = BITS(16, 19);
- ARMword itype = BITS(24, 27);
- ARMword offset;
- if (rn == 15) return;
- if (itype == 8 || itype == 9) {
- /* LDM or STM */
- unsigned long regs = BITS(0, 15);
- offset = 0;
- if (!BIT(21)) return; /* no wb */
- for (; regs != 0; offset++)
- regs ^= (regs & -regs);
- if (offset == 0) offset = 16;
- } else if (itype == 12 || /* post-indexed CPDT */
- (itype == 13 && BIT(21))) { /* pre_indexed CPDT with WB */
- offset = BITS(0, 7);
- } else
- return;
-
- if (BIT(23))
- state->Reg[rn] -= offset * 4;
- else
- state->Reg[rn] += offset * 4;
-}
-
-/***************************************************************************\
-* Copy a string from the debuggee's memory to the host's *
-\***************************************************************************/
-
-static void getstring(ARMul_State *state, ARMword from, char *to)
-{do {
- *to = (char)ARMul_ReadByte(state,from++) ;
- } while (*to++ != '\0') ;
- }
-
-#endif /* NOOS */
diff --git a/sim/arm/armos.h b/sim/arm/armos.h
deleted file mode 100644
index bae2f6e..0000000
--- a/sim/arm/armos.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* armos.h -- ARMulator OS definitions: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/***************************************************************************\
-* Define the initial layout of memory *
-\***************************************************************************/
-
-#define ADDRSUPERSTACK 0x800L /* supervisor stack space */
-#define ADDRUSERSTACK 0x80000L /* default user stack start */
-#define ADDRSOFTVECTORS 0x840L /* soft vectors are here */
-#define ADDRCMDLINE 0xf00L /* command line is here after a SWI GetEnv */
-#define ADDRSOFHANDLERS 0xad0L /* address and workspace for installed handlers */
-#define SOFTVECTORCODE 0xb80L /* default handlers */
-
-/***************************************************************************\
-* SWI numbers *
-\***************************************************************************/
-
-#define SWI_WriteC 0x0
-#define SWI_Write0 0x2
-#define SWI_ReadC 0x4
-#define SWI_CLI 0x5
-#define SWI_GetEnv 0x10
-#define SWI_Exit 0x11
-#define SWI_EnterOS 0x16
-
-#define SWI_GetErrno 0x60
-#define SWI_Clock 0x61
-#define SWI_Time 0x63
-#define SWI_Remove 0x64
-#define SWI_Rename 0x65
-#define SWI_Open 0x66
-
-#define SWI_Close 0x68
-#define SWI_Write 0x69
-#define SWI_Read 0x6a
-#define SWI_Seek 0x6b
-#define SWI_Flen 0x6c
-
-#define SWI_IsTTY 0x6e
-#define SWI_TmpNam 0x6f
-#define SWI_InstallHandler 0x70
-#define SWI_GenerateError 0x71
-
-#define FPESTART 0x2000L
-#define FPEEND 0x8000L
-#define FPEOLDVECT FPESTART + 0x100L + 8L * 16L + 4L /* stack + 8 regs + fpsr */
-#define FPENEWVECT(addr) 0xea000000L + ((addr) >> 2) - 3L /* branch from 4 to 0x2400 */
-extern unsigned long fpecode[] ;
-extern unsigned long fpesize ;
diff --git a/sim/arm/armrdi.c b/sim/arm/armrdi.c
deleted file mode 100644
index 665d03f..0000000
--- a/sim/arm/armrdi.c
+++ /dev/null
@@ -1,1042 +0,0 @@
-/* armrdi.c -- ARMulator RDI interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include <string.h>
-#include <ctype.h>
-#include "armdefs.h"
-#include "armemu.h"
-#include "armos.h"
-#include "dbg_cp.h"
-#include "dbg_conf.h"
-#include "dbg_rdi.h"
-#include "dbg_hif.h"
-#include "communicate.h"
-
-/***************************************************************************\
-* Declarations *
-\***************************************************************************/
-
-#define Watch_AnyRead (RDIWatch_ByteRead+RDIWatch_HalfRead+RDIWatch_WordRead)
-#define Watch_AnyWrite (RDIWatch_ByteWrite+RDIWatch_HalfWrite+RDIWatch_WordWrite)
-
-static unsigned FPRegsAddr ; /* last known address of FPE regs */
-#define FPESTART 0x2000L
-#define FPEEND 0x8000L
-
-#define IGNORE(d) (d = d)
-#ifdef RDI_VERBOSE
-#define TracePrint(s) \
- if (rdi_log & 1) ARMul_DebugPrint s
-#else
-#define TracePrint(s)
-#endif
-
-static ARMul_State *state = NULL ;
-static unsigned BreaksSet ; /* The number of breakpoints set */
-
-static int rdi_log = 0 ; /* debugging ? */
-
-#define LOWEST_RDI_LEVEL 0
-#define HIGHEST_RDI_LEVEL 1
-static int MYrdi_level = LOWEST_RDI_LEVEL;
-
-typedef struct BreakNode BreakNode;
-typedef struct WatchNode WatchNode;
-
-struct BreakNode { /* A breakpoint list node */
- BreakNode *next ;
- ARMword address ; /* The address of this breakpoint */
- unsigned type ; /* The type of comparison */
- ARMword bound ; /* The other address for a range */
- ARMword inst;
- };
-
-struct WatchNode { /* A watchpoint list node */
- WatchNode *next ;
- ARMword address ; /* The address of this watchpoint */
- unsigned type ; /* The type of comparison */
- unsigned datatype ; /* The type of access to watch for */
- ARMword bound ; /* The other address for a range */
- };
-
-BreakNode *BreakList = NULL ;
-WatchNode *WatchList = NULL ;
-
-void ARMul_DebugPrint_i(const Dbg_HostosInterface *hostif, const char *format, ...)
-{ va_list ap;
- va_start(ap, format);
- hostif->dbgprint(hostif->dbgarg, format, ap);
- va_end(ap);
-}
-
-void ARMul_DebugPrint(ARMul_State *state, const char *format, ...)
-{ va_list ap;
- va_start(ap, format);
- if(!(rdi_log & 8))
- state->hostif->dbgprint(state->hostif->dbgarg, format, ap);
- va_end(ap);
-}
-
-#define CONSOLE_PRINT_MAX_LEN 128
-
-void ARMul_ConsolePrint(ARMul_State *state, const char *format, ...)
-{
- va_list ap;
- int ch;
- char *str, buf[CONSOLE_PRINT_MAX_LEN];
- int i, j;
- ARMword junk;
-
- va_start(ap, format);
- vsprintf(buf, format, ap);
-
- for (i = 0; buf[i] ;i++); /* The string is i chars long */
-
- str = buf;
- while (i >= 32) {
- MYwrite_char(kidmum[1], RDP_OSOp);
- MYwrite_word(kidmum[1], SWI_Write0);
- MYwrite_char(kidmum[1], OS_SendString);
- MYwrite_char(kidmum[1], 32); /* Send string 32bytes at a time */
- for (j = 0; j < 32; j++, str++)
- MYwrite_char(kidmum[1], *str);
- wait_for_osreply(&junk);
- i -= 32;
- }
-
- if (i > 0) {
- MYwrite_char(kidmum[1], RDP_OSOp);
- MYwrite_word(kidmum[1], SWI_Write0);
- MYwrite_char(kidmum[1], OS_SendString);
- MYwrite_char(kidmum[1], (unsigned char) i); /* Send remainder of string */
- for (j = 0; j < i; j++, str++)
- MYwrite_char(kidmum[1], *str);
- wait_for_osreply(&junk);
- }
- return;
-
-/* str = buf; */
-/* while ((ch=*str++) != 0) */
-/* state->hostif->writec(state->hostif->hostosarg, ch); */
-}
-
-void ARMul_DebugPause(ARMul_State *state)
-{
- if(!(rdi_log & 8))
- state->hostif->dbgpause(state->hostif->dbgarg);
-}
-
-/***************************************************************************\
-* RDI_open *
-\***************************************************************************/
-
-static void InitFail(int exitcode, char const *which) {
- ARMul_ConsolePrint(state, "%s interface failed to initialise. Exiting\n",
- which);
- exit(exitcode);
-}
-
-static void RDIInit(unsigned type)
-{if (type == 0) { /* cold start */
- state->CallDebug = state->MemReadDebug = state->MemWriteDebug = 0 ;
- BreaksSet = 0 ;
- }
- }
-
-#define UNKNOWNPROC 0
-
-typedef struct { char name[16]; unsigned val; } Processor;
-
-Processor const p_arm2 = {"ARM2", ARM2};
-Processor const p_arm2as = {"ARM2AS", ARM2as};
-Processor const p_arm61 = {"ARM61", ARM61};
-Processor const p_arm3 = {"ARM3", ARM3};
-Processor const p_arm6 = {"ARM6", ARM6};
-Processor const p_arm60 = {"ARM60", ARM60};
-Processor const p_arm600 = {"ARM600", ARM600};
-Processor const p_arm610 = {"ARM610", ARM610};
-Processor const p_arm620 = {"ARM620", ARM620};
-Processor const p_unknown= {"", UNKNOWNPROC};
-
-Processor const *const processors[] = {
- &p_arm6, /* default: must come first */
- &p_arm2,
- &p_arm2as,
- &p_arm61,
- &p_arm3,
- &p_arm60,
- &p_arm600,
- &p_arm610,
- &p_arm620,
- &p_unknown
-};
-
-typedef struct ProcessorConfig ProcessorConfig;
-struct ProcessorConfig {
- long id[2];
- ProcessorConfig const *self;
- long count;
- Processor const * const *processors;
-};
-
-ProcessorConfig const processorconfig = {
- { ((((((long)'x' << 8) | ' ') << 8) | 'c') << 8) | 'p',
- ((((((long)'u' << 8) | 's') << 8) | ' ') << 8) | 'x'
- },
- &processorconfig,
- 16,
- processors
-};
-
-static int RDI_open(unsigned type, const Dbg_ConfigBlock *config,
- const Dbg_HostosInterface *hostif,
- struct Dbg_MCState *dbg_state)
-/* Initialise everything */
-{int virgin = (state == NULL);
- IGNORE(dbg_state);
-
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- if (virgin)
- ARMul_DebugPrint_i(hostif, "RDI_open: type = %d\n",type) ;
- else
- ARMul_DebugPrint(state, "RDI_open: type = %d\n",type) ;
- }
-#endif
-
- if (type & 1) { /* Warm start */
- ARMul_Reset(state) ;
- RDIInit(1) ;
- }
- else {
- if (virgin) {
- ARMul_EmulateInit();
- state = ARMul_NewState();
- state->hostif = hostif;
- { int req = config->processor;
- unsigned processor = processors[req]->val;
- ARMul_SelectProcessor(state, processor);
- ARMul_Reset(state);
- ARMul_ConsolePrint(state, "ARMulator V1.50, %s", processors[req]->name);
- }
- if (ARMul_MemoryInit(state,config->memorysize) == FALSE)
- InitFail(1, "Memory");
- if (config->bytesex != RDISex_DontCare)
- state->bigendSig = config->bytesex ;
- if (ARMul_CoProInit(state) == FALSE)
- InitFail(2, "Co-Processor");
- if (ARMul_OSInit(state) == FALSE)
- InitFail(3, "Operating System");
- }
- ARMul_Reset(state) ;
- RDIInit(0) ;
- }
- if (type & 2) { /* Reset the comms link */
- /* what comms link ? */
- }
- if (virgin && (type & 1) == 0) /* Cold start */
- ARMul_ConsolePrint(state, ", %s endian.\n",
- state->bigendSig ? "Big" : "Little");
-
- if (config->bytesex == RDISex_DontCare)
- return(state->bigendSig ? RDIError_BigEndian : RDIError_LittleEndian);
- else
- return(RDIError_NoError) ;
-}
-
-/***************************************************************************\
-* RDI_close *
-\***************************************************************************/
-
-static int RDI_close(void)
-{
- TracePrint((state, "RDI_close\n"));
- ARMul_OSExit(state) ;
- ARMul_CoProExit(state) ;
- ARMul_MemoryExit(state) ;
- return(RDIError_NoError) ;
- }
-
-/***************************************************************************\
-* RDI_read *
-\***************************************************************************/
-
-static int RDI_read(ARMword source, void *dest, unsigned *nbytes)
-{unsigned i ;
- char *memptr = (char *)dest ;
-
- TracePrint((state, "RDI_read: source=%.8lx dest=%p nbytes=%.8x\n",
- source, dest, *nbytes));
-
- for (i=0 ; i < *nbytes ; i++)
- *memptr++ = (char)ARMul_ReadByte(state,source++) ;
- if (state->abortSig) {
- state->abortSig = LOW ;
- return(RDIError_DataAbort) ;
- }
- return(RDIError_NoError) ;
- }
-
-/***************************************************************************\
-* RDI_write *
-\***************************************************************************/
-
-static int RDI_write(const void *source, ARMword dest, unsigned *nbytes)
-{unsigned i ;
- char *memptr = (char *)source ;
-
- TracePrint((state, "RDI_write: source=%p dest=%.8lx nbytes=%.8x\n",
- source, dest, *nbytes));
-
- for (i=0 ; i < *nbytes ; i++)
- ARMul_WriteByte(state,(ARMword)dest++,(ARMword)*memptr++) ;
-
- if (state->abortSig) {
- state->abortSig = LOW ;
- return(RDIError_DataAbort) ;
- }
- return(RDIError_NoError) ;
- }
-
-/***************************************************************************\
-* RDI_CPUread *
-\***************************************************************************/
-
-static int RDI_CPUread(unsigned mode, unsigned long mask, ARMword buffer[])
-{unsigned i , upto ;
-
- if (mode == RDIMode_Curr)
- mode = (unsigned)(ARMul_GetCPSR(state) & MODEBITS) ;
-
- for (upto = 0, i = 0 ; i < 15 ; i++)
- if (mask & (1L << i)){
- buffer[upto++] = ARMul_GetReg(state,mode,i) ;
- }
-
- if (mask & RDIReg_R15) {
- buffer[upto++] = ARMul_GetR15(state) ;
- }
-
- if (mask & RDIReg_PC) {
- buffer[upto++] = ARMul_GetPC(state) ;
- }
-
- if (mask & RDIReg_CPSR)
- buffer[upto++] = ARMul_GetCPSR(state) ;
-
- if (mask & RDIReg_SPSR)
- buffer[upto++] = ARMul_GetSPSR(state,mode) ;
-
- TracePrint((state, "RDI_CPUread: mode=%.8x mask=%.8lx", mode, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- for (upto = 0, i = 0 ; i <= 20 ; i++)
- if (mask & (1L << i)) {
- ARMul_DebugPrint(state, "%c%.8lx",upto%4==0?'\n':' ',buffer[upto]) ;
- upto++ ;
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
-
- return(RDIError_NoError) ;
-}
-
-/***************************************************************************\
-* RDI_CPUwrite *
-\***************************************************************************/
-
-static int RDI_CPUwrite(unsigned mode, unsigned long mask, ARMword const buffer[])
-{int i, upto;
-
-
- TracePrint((state, "RDI_CPUwrite: mode=%.8x mask=%.8lx", mode, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- for (upto = 0, i = 0 ; i <= 20 ; i++)
- if (mask & (1L << i)) {
- ARMul_DebugPrint(state, "%c%.8lx",upto%4==0?'\n':' ',buffer[upto]) ;
- upto++ ;
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
-
- if (mode == RDIMode_Curr)
- mode = (unsigned)(ARMul_GetCPSR(state) & MODEBITS) ;
-
- for (upto = 0, i = 0 ; i < 15 ; i++)
- if (mask & (1L << i))
- ARMul_SetReg(state,mode,i,buffer[upto++]) ;
-
- if (mask & RDIReg_R15)
- ARMul_SetR15(state,buffer[upto++]) ;
-
- if (mask & RDIReg_PC) {
-
- ARMul_SetPC(state,buffer[upto++]) ;
- }
- if (mask & RDIReg_CPSR)
- ARMul_SetCPSR(state,buffer[upto++]) ;
-
- if (mask & RDIReg_SPSR)
- ARMul_SetSPSR(state,mode,buffer[upto++]) ;
-
- return(RDIError_NoError) ;
-}
-
-/***************************************************************************\
-* RDI_CPread *
-\***************************************************************************/
-
-static int RDI_CPread(unsigned CPnum, unsigned long mask, ARMword buffer[])
-{ARMword fpregsaddr, word[4] ;
-
- unsigned r, w ;
- unsigned upto ;
-
- if (CPnum != 1 && CPnum != 2) {
- unsigned char const *rmap = state->CPRegWords[CPnum];
- if (rmap == NULL)
- return(RDIError_UnknownCoPro) ;
- for (upto = 0, r = 0 ; r < rmap[-1] ; r++)
- if (mask & (1L << r)) {
- (void)state->CPRead[CPnum](state, r, &buffer[upto]);
- upto += rmap[r];
- }
- TracePrint((state, "RDI_CPread: CPnum=%d mask=%.8lx", CPnum, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- w = 0;
- for (upto = 0, r = 0; r < rmap[-1]; r++)
- if (mask & (1L << r)) {
- int words = rmap[r];
- ARMul_DebugPrint(state, "%c%2d", (w >= 4 ? (w = 0, '\n') : ' '), r);
- while (--words >= 0) {
- ARMul_DebugPrint(state, " %.8lx", buffer[upto++]);
- w++;
- }
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
- return RDIError_NoError;
- }
-
-#ifdef NOFPE
- return RDIError_UnknownCoPro;
-
-#else
- if (FPRegsAddr == 0) {
- fpregsaddr = ARMul_ReadWord(state, 4L) ;
- if ((fpregsaddr & 0xff800000) != 0xea000000) /* Must be a forward branch */
- return RDIError_UnknownCoPro;
- fpregsaddr = ((fpregsaddr & 0xffffff) << 2) + 8 ; /* address in __fp_decode - 4 */
- if ((fpregsaddr < FPESTART) || (fpregsaddr >= FPEEND))
- return RDIError_UnknownCoPro;
- fpregsaddr = ARMul_ReadWord(state, fpregsaddr) ; /* pointer to fp registers */
- FPRegsAddr = fpregsaddr ;
- }
- else
- fpregsaddr = FPRegsAddr ;
-
- if (fpregsaddr == 0) return RDIError_UnknownCoPro;
- for (upto = 0, r = 0 ; r < 8 ; r++)
- if (mask & (1L << r)) {
- for (w = 0 ; w < 4 ; w++)
- word[w] = ARMul_ReadWord(state,fpregsaddr + (ARMword)r * 16 + (ARMword)w * 4) ;
- switch ((int)(word[3] >> 29)) {
- case 0 :
- case 2 :
- case 4 :
- case 6 : /* its unpacked, convert to extended */
- buffer[upto++] = 2 ; /* mark as extended */
- buffer[upto++] = (word[3] & 0x7fff) | (word[0] & 0x80000000) ; /* exp and sign */
- buffer[upto++] = word[1] ; /* mantissa 1 */
- buffer[upto++] = word[2] ; /* mantissa 2 */
- break ;
- case 1 : /* packed single */
- buffer[upto++] = 0 ; /* mark as single */
- buffer[upto++] = word[0] ; /* sign, exp and mantissa */
- buffer[upto++] = word[1] ; /* padding */
- buffer[upto++] = word[2] ; /* padding */
- break ;
- case 3 : /* packed double */
- buffer[upto++] = 1 ; /* mark as double */
- buffer[upto++] = word[0] ; /* sign, exp and mantissa1 */
- buffer[upto++] = word[1] ; /* mantissa 2 */
- buffer[upto++] = word[2] ; /* padding */
- break ;
- case 5 : /* packed extended */
- buffer[upto++] = 2 ; /* mark as extended */
- buffer[upto++] = word[0] ; /* sign and exp */
- buffer[upto++] = word[1] ; /* mantissa 1 */
- buffer[upto++] = word[2] ; /* mantissa 2 */
- break ;
- case 7 : /* packed decimal */
- buffer[upto++] = 3 ; /* mark as packed decimal */
- buffer[upto++] = word[0] ; /* sign, exp and mantissa1 */
- buffer[upto++] = word[1] ; /* mantissa 2 */
- buffer[upto++] = word[2] ; /* mantissa 3 */
- break ;
- }
- }
- if (mask & (1L << r))
- buffer[upto++] = ARMul_ReadWord(state,fpregsaddr + 128) ; /* fpsr */
- if (mask & (1L << (r+1) ))
- buffer[upto++] = 0 ; /* fpcr */
-
- TracePrint((state, "RDI_CPread: CPnum=%d mask=%.8lx\n", CPnum, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- for (upto = 0, r = 0 ; r < 9 ; r++)
- if (mask & (1L << r)) {
- if (r != 8) {
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- }
- ARMul_DebugPrint(state, "%08lx\n",buffer[upto++]) ;
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
- return(RDIError_NoError) ;
-#endif /* NOFPE */
- }
-
-/***************************************************************************\
-* RDI_CPwrite *
-\***************************************************************************/
-
-static int RDI_CPwrite(unsigned CPnum, unsigned long mask, ARMword const buffer[])
-{unsigned r ;
- unsigned upto ;
- ARMword fpregsaddr;
-
- if (CPnum != 1 && CPnum != 2) {
- unsigned char const *rmap = state->CPRegWords[CPnum];
- if (rmap == NULL)
- return(RDIError_UnknownCoPro) ;
- TracePrint((state, "RDI_CPwrite: CPnum=%d mask=%.8lx", CPnum, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- int w = 0;
- for (upto = 0, r = 0; r < rmap[-1]; r++)
- if (mask & (1L << r)) {
- int words = rmap[r];
- ARMul_DebugPrint(state, "%c%2d", (w >= 4 ? (w = 0, '\n') : ' '), r);
- while (--words >= 0) {
- ARMul_DebugPrint(state, " %.8lx", buffer[upto++]);
- w++;
- }
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
- for (upto = 0, r = 0; r < rmap[-1]; r++)
- if (mask & (1L << r)) {
- (void)state->CPWrite[CPnum](state, r, &buffer[upto]);
- upto += rmap[r];
- }
- return RDIError_NoError;
- }
-
-#ifdef NOFPE
- return RDIError_UnknownCoPro;
-
-#else
- TracePrint((state, "RDI_CPwrite: CPnum=%d mask=%.8lx", CPnum, mask));
-#ifdef RDI_VERBOSE
- if (rdi_log & 1) {
- for (upto = 0, r = 0 ; r < 9 ; r++)
- if (mask & (1L << r)) {
- if (r != 8) {
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- ARMul_DebugPrint(state, "%08lx ",buffer[upto++]) ;
- }
- ARMul_DebugPrint(state, "%08lx\n",buffer[upto++]) ;
- }
- ARMul_DebugPrint(state, "\n") ;
- }
-#endif
-
- if (FPRegsAddr == 0) {
- fpregsaddr = ARMul_ReadWord(state, 4L) ;
- if ((fpregsaddr & 0xff800000) != 0xea000000) /* Must be a forward branch */
- return RDIError_UnknownCoPro;
- fpregsaddr = ((fpregsaddr & 0xffffff) << 2) + 8 ; /* address in __fp_decode - 4 */
- if ((fpregsaddr < FPESTART) || (fpregsaddr >= FPEEND))
- return RDIError_UnknownCoPro;
- fpregsaddr = ARMul_ReadWord(state, fpregsaddr) ; /* pointer to fp registers */
- FPRegsAddr = fpregsaddr ;
- }
- else
- fpregsaddr = FPRegsAddr ;
-
- if (fpregsaddr == 0) return RDIError_UnknownCoPro;
- for (upto = 0, r = 0 ; r < 8 ; r++)
- if (mask & (1L << r)) {
- ARMul_WriteWord(state,fpregsaddr + (ARMword)r * 16,buffer[upto+1]) ;
- ARMul_WriteWord(state,fpregsaddr + (ARMword)r * 16 + 4,buffer[upto+2]) ;
- ARMul_WriteWord(state,fpregsaddr + (ARMword)r * 16 + 8,buffer[upto+3]) ;
- ARMul_WriteWord(state,fpregsaddr + (ARMword)r * 16 + 12,(buffer[upto] * 2 + 1) << 29) ; /* mark type */
- upto += 4 ;
- }
- if (mask & (1L << r))
- ARMul_WriteWord(state,fpregsaddr + 128,buffer[upto++]) ; /* fpsr */
- return(RDIError_NoError) ;
-#endif /* NOFPE */
-}
-
-static void deletebreaknode(BreakNode **prevp) {
- BreakNode *p = *prevp;
- *prevp = p->next;
- ARMul_WriteWord(state, p->address, p->inst);
- free((char *)p);
- BreaksSet-- ;
- state->CallDebug-- ;
-}
-
-static int removebreak(ARMword address, unsigned type)
-{ BreakNode *p, **prevp = &BreakList;
- for (; (p = *prevp) != NULL ; prevp = &p->next)
- if (p->address == address && p->type == type) {
- deletebreaknode(prevp);
- return TRUE;
- }
- return FALSE;
-}
-
-/* This routine installs a breakpoint into the breakpoint table */
-
-static BreakNode *installbreak(ARMword address, unsigned type, ARMword bound)
-{ BreakNode *p = (BreakNode *)malloc(sizeof(BreakNode));
- p->next = BreakList;
- BreakList = p;
- p->address = address;
- p->type = type;
- p->bound = bound;
- p->inst = ARMul_ReadWord(state, address);
- ARMul_WriteWord(state, address, 0xee000000L);
- return p;
-}
-
-/***************************************************************************\
-* RDI_setbreak *
-\***************************************************************************/
-
-static int RDI_setbreak(ARMword address, unsigned type, ARMword bound,
- PointHandle *handle)
-{ BreakNode *p;
- TracePrint((state, "RDI_setbreak: address=%.8lx type=%d bound=%.8lx\n",
- address, type, bound));
-
- removebreak(address, type);
- p = installbreak(address, type, bound);
- BreaksSet++ ;
- state->CallDebug++ ;
- *handle = (PointHandle)p;
- TracePrint((state, " returns %.8lx\n", *handle));
- return RDIError_NoError;
-}
-
-/***************************************************************************\
-* RDI_clearbreak *
-\***************************************************************************/
-
-static int RDI_clearbreak(PointHandle handle)
-{ TracePrint((state, "RDI_clearbreak: address=%.8lx\n", handle));
- { BreakNode *p, **prevp = &BreakList;
- for (; (p = *prevp) != NULL; prevp = &p->next)
- if (p == (BreakNode *)handle) break;
- if (p == NULL) return RDIError_NoSuchPoint;
- deletebreaknode(prevp);
- return RDIError_NoError;
- }
-}
-
-/***************************************************************************\
-* Internal functions for breakpoint table manipulation *
-\***************************************************************************/
-
-static void deletewatchnode(WatchNode **prevp)
-{ WatchNode *p = *prevp;
- if (p->datatype & Watch_AnyRead) state->MemReadDebug--;
- if (p->datatype & Watch_AnyWrite) state->MemWriteDebug--;
- *prevp = p->next;
- free((char *)p);
-}
-
-int removewatch(ARMword address, unsigned type)
-{ WatchNode *p, **prevp = &WatchList;
- for (; (p = *prevp) != NULL ; prevp = &p->next)
- if (p->address == address && p->type == type) { /* found a match */
- deletewatchnode(prevp);
- return TRUE;
- }
- return FALSE; /* never found a match */
-}
-
-static WatchNode *installwatch(ARMword address, unsigned type, unsigned datatype,
- ARMword bound)
-{ WatchNode *p = (WatchNode *)malloc(sizeof(WatchNode));
- p->next = WatchList;
- WatchList = p;
- p->address = address;
- p->type = type;
- p->datatype = datatype;
- p->bound = bound;
- return p;
-}
-
-/***************************************************************************\
-* RDI_setwatch *
-\***************************************************************************/
-
-static int RDI_setwatch(ARMword address, unsigned type, unsigned datatype,
- ARMword bound, PointHandle *handle)
-{ WatchNode *p;
- TracePrint((state, "RDI_setwatch: address=%.8lx type=%d datatype=%d bound=%.8lx",
- address, type, datatype, bound));
-
- if (!state->CanWatch) return RDIError_UnimplementedMessage;
-
- removewatch(address, type);
- p = installwatch(address, type, datatype, bound);
- if (datatype & Watch_AnyRead) state->MemReadDebug++;
- if (datatype & Watch_AnyWrite) state->MemWriteDebug++;
- *handle = (PointHandle)p;
- TracePrint((state, " returns %.8lx\n", *handle));
- return RDIError_NoError;
-}
-
-/***************************************************************************\
-* RDI_clearwatch *
-\***************************************************************************/
-
-static int RDI_clearwatch(PointHandle handle)
-{ TracePrint((state, "RDI_clearwatch: address=%.8lx\n", handle));
- { WatchNode *p, **prevp = &WatchList;
- for (; (p = *prevp) != NULL; prevp = &p->next)
- if (p == (WatchNode *)handle) break;
- if (p == NULL) return RDIError_NoSuchPoint;
- deletewatchnode(prevp);
- return RDIError_NoError;
- }
-}
-
-/***************************************************************************\
-* RDI_execute *
-\***************************************************************************/
-
-static int RDI_execute(PointHandle *handle)
-{
- TracePrint((state, "RDI_execute\n"));
- if (rdi_log & 4) {
- state->CallDebug++ ;
- state->Debug = TRUE ;
- }
- state->EndCondition = RDIError_NoError ;
- state->StopHandle = 0;
-
- ARMul_DoProg(state);
-
- *handle = state->StopHandle;
- state->Reg[15] -= 8 ; /* undo the pipeline */
- if (rdi_log & 4) {
- state->CallDebug-- ;
- state->Debug = FALSE ;
- }
- return(state->EndCondition) ;
-}
-
-/***************************************************************************\
-* RDI_step *
-\***************************************************************************/
-
-static int RDI_step(unsigned ninstr, PointHandle *handle)
-{
-
- TracePrint((state, "RDI_step\n"));
- if (ninstr != 1) return RDIError_UnimplementedMessage;
- if (rdi_log & 4) {
- state->CallDebug++ ;
- state->Debug = TRUE ;
- }
- state->EndCondition = RDIError_NoError ;
- state->StopHandle = 0;
- ARMul_DoInstr(state) ;
- *handle = state->StopHandle;
- state->Reg[15] -= 8 ; /* undo the pipeline */
- if (rdi_log & 4) {
- state->CallDebug-- ;
- state->Debug = FALSE ;
- }
- return(state->EndCondition) ;
-}
-
-/***************************************************************************\
-* RDI_info *
-\***************************************************************************/
-
-static int RDI_info(unsigned type, ARMword *arg1, ARMword *arg2)
-{
- switch (type) {
- case RDIInfo_Target:
- TracePrint((state, "RDI_Info_Target\n"));
- /* Emulator, speed 10**5 IPS */
- *arg1 = 5 | HIGHEST_RDI_LEVEL << 5 | LOWEST_RDI_LEVEL << 8;
- *arg2 = 1298224434;
- return RDIError_NoError;
-
- case RDIInfo_Points:
- { ARMword n = RDIPointCapability_Comparison | RDIPointCapability_Range |
- RDIPointCapability_Mask | RDIPointCapability_Status;
- TracePrint((state, "RDI_Info_Points\n"));
- if (state->CanWatch) n |= (Watch_AnyRead+Watch_AnyWrite) << 2;
- *arg1 = n;
- return RDIError_NoError;
- }
-
- case RDIInfo_Step:
- TracePrint((state, "RDI_Info_Step\n"));
- *arg1 = RDIStep_Single;
- return RDIError_NoError;
-
- case RDIInfo_MMU:
- TracePrint((state, "RDI_Info_MMU\n"));
- *arg1 = 1313820229 ;
- return RDIError_NoError;
-
- case RDISignal_Stop:
- TracePrint((state, "RDISignal_Stop\n"));
- state->CallDebug++ ;
- state->EndCondition = RDIError_UserInterrupt ;
- return RDIError_NoError;
-
- case RDIVector_Catch:
- TracePrint((state, "RDIVector_Catch %.8lx\n", *arg1));
- state->VectorCatch = (unsigned)*arg1 ;
- return RDIError_NoError;
-
- case RDISet_Cmdline:
- TracePrint((state, "RDI_Set_Cmdline %s\n", (char *)arg1));
- state->CommandLine = (char *)malloc((unsigned)strlen((char *)arg1)+1) ;
- (void)strcpy(state->CommandLine,(char *)arg1) ;
- return RDIError_NoError;
-
- case RDICycles:
- TracePrint((state, "RDI_Info_Cycles\n"));
- arg1[0] = 0;
- arg1[1] = state->NumInstrs;
- arg1[2] = 0;
- arg1[3] = state->NumScycles;
- arg1[4] = 0;
- arg1[5] = state->NumNcycles;
- arg1[6] = 0;
- arg1[7] = state->NumIcycles;
- arg1[8] = 0;
- arg1[9] = state->NumCcycles;
- arg1[10] = 0;
- arg1[11] = state->NumFcycles;
- return RDIError_NoError;
-
- case RDIErrorP:
- *arg1 = ARMul_OSLastErrorP(state);
- TracePrint((state, "RDI_ErrorP returns %ld\n", *arg1));
- return RDIError_NoError;
-
- case RDIInfo_DescribeCoPro:
- { int cpnum = *(int *)arg1;
- struct Dbg_CoProDesc *cpd = (struct Dbg_CoProDesc *)arg2;
- int i;
- unsigned char const *map = state->CPRegWords[cpnum];
- if (map == NULL) return RDIError_UnknownCoPro;
- for (i = 0; i < cpd->entries; i++) {
- unsigned r, w = cpd->regdesc[i].nbytes / sizeof(ARMword);
- for (r = cpd->regdesc[i].rmin; r <= cpd->regdesc[i].rmax; r++)
- if (map[r] != w) return RDIError_BadCoProState;
- }
- return RDIError_NoError;
- }
-
- case RDIInfo_RequestCoProDesc:
- { int cpnum = *(int *)arg1;
- struct Dbg_CoProDesc *cpd = (struct Dbg_CoProDesc *)arg2;
- int i = -1, lastw = -1, r;
- unsigned char const *map;
- if ((unsigned)cpnum >= 16) return RDIError_UnknownCoPro;
- map = state->CPRegWords[cpnum];
- if (map == NULL) return RDIError_UnknownCoPro;
- for (r = 0; r < map[-1]; r++) {
- int words = map[r];
- if (words == lastw)
- cpd->regdesc[i].rmax = r;
- else {
- if (++i >= cpd->entries) return RDIError_BufferFull;
- cpd->regdesc[i].rmax = cpd->regdesc[i].rmin = r;
- cpd->regdesc[i].nbytes = words * sizeof(ARMword);
- cpd->regdesc[i].access = Dbg_Access_Readable+Dbg_Access_Writable;
- }
- }
- cpd->entries = i+1;
- return RDIError_NoError;
- }
-
- case RDIInfo_Log:
- *arg1 = (ARMword)rdi_log;
- return RDIError_NoError;
-
- case RDIInfo_SetLog:
- rdi_log = (int)*arg1;
- return RDIError_NoError;
-
- case RDIInfo_CoPro:
- return RDIError_NoError;
-
- case RDIPointStatus_Watch:
- { WatchNode *p, *handle = (WatchNode *)*arg1;
- for (p = WatchList; p != NULL; p = p->next)
- if (p == handle) {
- *arg1 = -1;
- *arg2 = 1;
- return RDIError_NoError;
- }
- return RDIError_NoSuchPoint;
- }
-
- case RDIPointStatus_Break:
- { BreakNode *p, *handle = (BreakNode *)*arg1;
- for (p = BreakList; p != NULL; p = p->next)
- if (p == handle) {
- *arg1 = -1;
- *arg2 = 1;
- return RDIError_NoError;
- }
- return RDIError_NoSuchPoint;
- }
-
- case RDISet_RDILevel:
- if (*arg1 < LOWEST_RDI_LEVEL || *arg1 > HIGHEST_RDI_LEVEL)
- return RDIError_IncompatibleRDILevels;
- MYrdi_level = *arg1;
- return RDIError_NoError;
-
- default:
- return RDIError_UnimplementedMessage;
-
- }
-}
-
-/***************************************************************************\
-* The emulator calls this routine at the beginning of every cycle when the *
-* CallDebug flag is set. The second parameter passed is the address of the *
-* currently executing instruction (i.e Program Counter - 8), the third *
-* parameter is the instruction being executed. *
-\***************************************************************************/
-
-ARMword ARMul_Debug(ARMul_State *state, ARMword pc, ARMword instr)
-{
-
- if (state->EndCondition == RDIError_UserInterrupt) {
- TracePrint((state, "User interrupt at %.8lx\n", pc));
- state->CallDebug--;
- state->Emulate = STOP;
- } else {
- BreakNode *p = BreakList;
- for (; p != NULL ; p = p->next) {
- switch (p->type) {
- case RDIPoint_EQ: if (pc == p->address) break; continue;
- case RDIPoint_GT: if (pc > p->address) break; continue;
- case RDIPoint_GE: if (pc >= p->address) break; continue;
- case RDIPoint_LT: if (pc < p->address) break; continue;
- case RDIPoint_LE: if (pc <= p->address) break; continue;
- case RDIPoint_IN: if (p->address <= pc && pc < p->address+p->bound) break;
- continue;
- case RDIPoint_OUT:if (p->address > pc || pc >= p->address+p->bound) break;
- continue;
- case RDIPoint_MASK:if ((pc & p->bound) == p->address) break; continue;
- }
- /* found a match */
- TracePrint((state, "Breakpoint reached at %.8lx\n", pc));
- state->EndCondition = RDIError_BreakpointReached ;
- state->Emulate = STOP;
- state->StopHandle = (ARMword)p;
- break;
- }
- }
- return instr;
-}
-
-void ARMul_CheckWatch(ARMul_State *state, ARMword addr, int access)
-{ WatchNode *p;
- for (p = WatchList; p != NULL; p = p->next)
- if (p->datatype & access) {
- switch (p->type) {
- case RDIPoint_EQ: if (addr == p->address) break; continue;
- case RDIPoint_GT: if (addr > p->address) break; continue;
- case RDIPoint_GE: if (addr >= p->address) break; continue;
- case RDIPoint_LT: if (addr < p->address) break; continue;
- case RDIPoint_LE: if (addr <= p->address) break; continue;
- case RDIPoint_IN: if (p->address <= addr && addr < p->address+p->bound) break;
- continue;
- case RDIPoint_OUT:if (p->address > addr || addr >= p->address+p->bound) break;
- continue;
- case RDIPoint_MASK:if ((addr & p->bound) == p->address) break; continue;
- }
- /* found a match */
- TracePrint((state, "Watchpoint at %.8lx accessed\n", addr));
- state->EndCondition = RDIError_WatchpointAccessed;
- state->Emulate = STOP;
- state->StopHandle = (ARMword)p;
- return;
- }
-}
-
-static RDI_NameList const *RDI_cpunames() {
- return (RDI_NameList const *)&processorconfig.count;
-}
-
-const struct RDIProcVec armul_rdi = {
- "ARMUL",
- RDI_open,
- RDI_close,
- RDI_read,
- RDI_write,
- RDI_CPUread,
- RDI_CPUwrite,
- RDI_CPread,
- RDI_CPwrite,
- RDI_setbreak,
- RDI_clearbreak,
- RDI_setwatch,
- RDI_clearwatch,
- RDI_execute,
- RDI_step,
- RDI_info,
-
- 0, /*pointinq*/
- 0, /*addconfig*/
- 0, /*loadconfigdata*/
- 0, /*selectconfig*/
- 0, /*drivernames*/
-
- RDI_cpunames
-};
-
diff --git a/sim/arm/bag.h b/sim/arm/bag.h
deleted file mode 100644
index bd0f99d..0000000
--- a/sim/arm/bag.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* bag.h -- ARMulator support code: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/********************************************************************/
-/* bag.h: */
-/* Header file for bag.c */
-/* Offers a data structure for storing and getting pairs of number. */
-/* The numbers are stored together, put one can be looked up by */
-/* quoting the other. If a new pair is entered and one of the */
-/* numbers is a repeat of a previous pair, then the previos pair */
-/* is deleted. */
-/********************************************************************/
-
-typedef enum {
- NO_ERROR,
- DELETED_OLD_PAIR,
- NO_SUCH_PAIR,
-} Bag_error;
-
-void BAG_putpair(long first, long second);
-
-void BAG_newbag(void);
-Bag_error BAG_killpair_byfirst(long first);
-Bag_error BAG_killpair_bysecond(long second);
-
-Bag_error BAG_getfirst(long *first, long second);
-Bag_error BAG_getsecond(long first, long *second);
-
diff --git a/sim/arm/communicate.c b/sim/arm/communicate.c
deleted file mode 100644
index 061e719..0000000
--- a/sim/arm/communicate.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/* communicate.c -- ARMulator RDP comms code: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/**************************************************************************/
-/* Functions to read and write characters or groups of characters */
-/* down sockets or pipes. Those that return a value return -1 on failure */
-/* and 0 on success. */
-/**************************************************************************/
-
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-
-#include "armdefs.h"
-
-/* The socket to the debugger */
-int debugsock;
-
-/* The maximum number of file descriptors */
-extern int nfds;
-
-/* The socket handle */
-extern int sockethandle;
-
-/* Read and Write routines down a pipe or socket */
-
-/****************************************************************/
-/* Read an individual character. */
-/* All other read functions rely on this one. */
-/* It waits 15 seconds until there is a character available: if */
-/* no character is available, then it timeouts and returns -1. */
-/****************************************************************/
-int MYread_char(int sock, unsigned char *c) {
- int i;
- fd_set readfds;
- struct timeval timeout= {15, 0};
- struct sockaddr_in isa;
-
- retry:
-
- FD_ZERO(&readfds);
- FD_SET(sock, &readfds);
-
- i = select(nfds, &readfds,
- (fd_set *) 0,
- (fd_set *) 0,
- &timeout);
-
- if (i < 0) {
- perror("select");
- exit(1);
- }
-
- if (!i) {
- fprintf(stderr, "read: Timeout\n");
- return -1;
- }
-
- if ((i = read(sock, c, 1)) < 1) {
- if (!i && sock == debugsock) {
- fprintf(stderr, "Connection with debugger severed.\n");
- /* This shouldn't be necessary for a detached armulator, but
- the armulator cannot be cold started a second time, so
- this is probably preferable to locking up. */
- return -1;
- fprintf(stderr, "Waiting for connection from debugger...");
- debugsock = accept(sockethandle, &isa, &i);
- if (debugsock < 0) { /* Now we are in serious trouble... */
- perror("accept");
- return -1;
- }
- fprintf(stderr, " done.\nConnection Established.\n");
- sock = debugsock;
- goto retry;
- }
- perror("read");
- return -1;
- }
-
-#ifdef DEBUG
- if (sock == debugsock) fprintf(stderr, "<%02x ", *c);
-#endif
-
- return 0;
-}
-
-/****************************************************************/
-/* Read an individual character. */
-/* It waits until there is a character available. Returns -1 if */
-/* an error occurs. */
-/****************************************************************/
-int MYread_charwait(int sock, unsigned char *c) {
- int i;
- fd_set readfds;
- struct sockaddr_in isa;
-
- retry:
-
- FD_ZERO(&readfds);
- FD_SET(sock, &readfds);
-
- i = select(nfds, &readfds,
- (fd_set *) 0,
- (fd_set *) 0,
- (struct timeval *) 0);
-
- if (i < 0) {
- perror("select");
- exit(-1);
- }
-
- if ((i = read(sock, c, 1)) < 1) {
- if (!i && sock == debugsock) {
- fprintf(stderr, "Connection with debugger severed.\n");
- return -1;
- fprintf(stderr, "Waiting for connection from debugger...");
- debugsock = accept(sockethandle, &isa, &i);
- if (debugsock < 0) { /* Now we are in serious trouble... */
- perror("accept");
- return -1;
- }
- fprintf(stderr, " done.\nConnection Established.\n");
- sock = debugsock;
- goto retry;
- }
- perror("read");
- return -1;
- }
-
-#ifdef DEBUG
- if (sock == debugsock) fprintf(stderr, "<%02x ", *c);
-#endif
-
- return 0;
-}
-
-void MYwrite_char(int sock, unsigned char c) {
-
- if (write(sock, &c, 1) < 1)
- perror("write");
-#ifdef DEBUG
- if (sock == debugsock) fprintf(stderr, ">%02x ", c);
-#endif
-}
-
-int MYread_word(int sock, ARMword *here) {
- unsigned char a, b, c, d;
-
- if (MYread_char(sock, &a) < 0) return -1;
- if (MYread_char(sock, &b) < 0) return -1;
- if (MYread_char(sock, &c) < 0) return -1;
- if (MYread_char(sock, &d) < 0) return -1;
- *here = a | b << 8 | c << 16 | d << 24;
- return 0;
-}
-
-void MYwrite_word(int sock, ARMword i) {
- MYwrite_char(sock, i & 0xff);
- MYwrite_char(sock, (i & 0xff00) >> 8);
- MYwrite_char(sock, (i & 0xff0000) >> 16);
- MYwrite_char(sock, (i & 0xff000000) >> 24);
-}
-
-void MYwrite_string(int sock, char *s) {
- int i;
- for (i = 0; MYwrite_char(sock, s[i]), s[i]; i++);
-}
-
-int MYread_FPword(int sock, char *putinhere) {
- int i;
- for (i = 0; i < 16; i++)
- if (MYread_char(sock, &putinhere[i]) < 0) return -1;
- return 0;
-}
-
-void MYwrite_FPword(int sock, char *fromhere) {
- int i;
- for (i = 0; i < 16; i++)
- MYwrite_char(sock, fromhere[i]);
-}
-
-/* Takes n bytes from source and those n bytes */
-/* down to dest */
-int passon(int source, int dest, int n) {
- char *p;
- int i;
-
- p = (char *) malloc(n);
- if (!p) {
- perror("Out of memory\n");
- exit(1);
- }
- if (n) {
- for (i = 0; i < n; i++)
- if (MYread_char(source, &p[i]) < 0) return -1;
-
-#ifdef DEBUG
- if (dest == debugsock)
- for (i = 0; i < n; i++) fprintf(stderr, ")%02x ", (unsigned char) p[i]);
-#endif
-
- write(dest, p, n);
- }
- free(p);
- return 0;
-}
diff --git a/sim/arm/communicate.h b/sim/arm/communicate.h
deleted file mode 100644
index c48b2e2..0000000
--- a/sim/arm/communicate.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* communicate.h -- ARMulator comms support defns: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-int MYread_char(int sock, unsigned char *c);
-void MYwrite_char(int sock, unsigned char c);
-int MYread_word(int sock, ARMword *here);
-void MYwrite_word(int sock, ARMword i);
-void MYwrite_string(int sock, char *s);
-int MYread_FPword(int sock, char *putinhere);
-void MYwrite_FPword(int sock, char *fromhere);
-int passon(int source, int dest, int n);
-
-int wait_for_osreply(ARMword *reply); /* from kid.c */
-
-#define OS_SendNothing 0x0
-#define OS_SendChar 0x1
-#define OS_SendWord 0x2
-#define OS_SendString 0x3
-
-/* The pipes between the two processes */
-extern int mumkid[2];
-extern int kidmum[2];
-
diff --git a/sim/arm/config.in b/sim/arm/config.in
deleted file mode 100644
index f22f4de..0000000
--- a/sim/arm/config.in
+++ /dev/null
@@ -1,16 +0,0 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-
-/* Define if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
diff --git a/sim/arm/configure b/sim/arm/configure
deleted file mode 100755
index e684d6a..0000000
--- a/sim/arm/configure
+++ /dev/null
@@ -1,3692 +0,0 @@
-#! /bin/sh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sim_inline="-DDEFAULT_INLINE=0"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# This file is derived from `gettext.m4'. The difference is that the
-# included macros assume Cygnus-style source and build trees.
-
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 3
-
-
-
-
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --disable-nls do not use Native Language Support"
-ac_help="$ac_help
- --with-included-gettext use the GNU gettext library included here"
-ac_help="$ac_help
- --enable-maintainer-mode Enable developer functionality."
-ac_help="$ac_help
- --enable-sim-bswap Use Host specific BSWAP instruction."
-ac_help="$ac_help
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator"
-ac_help="$ac_help
- --enable-sim-debug=opts Enable debugging flags"
-ac_help="$ac_help
- --enable-sim-stdio Specify whether to use stdio for console input/output."
-ac_help="$ac_help
- --enable-sim-trace=opts Enable tracing flags"
-ac_help="$ac_help
- --enable-sim-profile=opts Enable profiling flags"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=Makefile.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:663: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 678 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:684: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 695 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:724: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:751: checking for POSIXized ISC" >&5
-if test -d /etc/conf/kconfig.d &&
- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
-then
- echo "$ac_t""yes" 1>&6
- ISC=yes # If later tests want to check for ISC.
- cat >> confdefs.h <<\EOF
-#define _POSIX_SOURCE 1
-EOF
-
- if test "$GCC" = yes; then
- CC="$CC -posix"
- else
- CC="$CC -Xp"
- fi
-else
- echo "$ac_t""no" 1>&6
- ISC=
-fi
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:772: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 777 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- ac_cv_header_stdc=yes
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 802 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "memchr" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 820 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "free" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
- :
-else
- cat > conftest.$ac_ext <<EOF
-#line 841 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- :
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
- cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:876: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 881 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:951: checking for inline" >&5
-if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat > conftest.$ac_ext <<EOF
-#line 958 "configure"
-#include "confdefs.h"
-
-int main() {
-} $ac_kw foo() {
-; return 0; }
-EOF
-if { (eval echo configure:965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_inline=$ac_kw; break
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-
-fi
-
-echo "$ac_t""$ac_cv_c_inline" 1>&6
-case "$ac_cv_c_inline" in
- inline | yes) ;;
- no) cat >> confdefs.h <<\EOF
-#define inline
-EOF
- ;;
- *) cat >> confdefs.h <<EOF
-#define inline $ac_cv_c_inline
-EOF
- ;;
-esac
-
-echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:991: checking for off_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 996 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_off_t=yes
-else
- rm -rf conftest*
- ac_cv_type_off_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_off_t" 1>&6
-if test $ac_cv_type_off_t = no; then
- cat >> confdefs.h <<\EOF
-#define off_t long
-EOF
-
-fi
-
-echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1024: checking for size_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1029 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_size_t=yes
-else
- rm -rf conftest*
- ac_cv_type_size_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_size_t" 1>&6
-if test $ac_cv_type_size_t = no; then
- cat >> confdefs.h <<\EOF
-#define size_t unsigned
-EOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1059: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1064 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:1071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- ac_cv_header_alloca_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1092: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1097 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- ac_cv_func_alloca_works=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
- # that cause trouble. Some versions do not even contain alloca or
- # contain a buggy version. If you still want to use their alloca,
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.o
- cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1152: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1157 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "webecray" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_os_cray=yes
-else
- rm -rf conftest*
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1182: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1187 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1237: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat > conftest.$ac_ext <<EOF
-#line 1245 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:1264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- ac_cv_c_stack_direction=1
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1289: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1294 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1299: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getpagesize
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1328: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1333 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:1381: checking for working mmap" >&5
-if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 1389 "configure"
-#include "confdefs.h"
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the filesystem buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propogated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-/* This mess was copied from the GNU getpagesize.h. */
-#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
-
-/* Assume that all systems that can run configure have sys/param.h. */
-# ifndef HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-#ifdef __cplusplus
-extern "C" { void *malloc(unsigned); }
-#else
-char *malloc();
-#endif
-
-int
-main()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize();
-
- /*
- * First, make a file with some known garbage in it.
- */
- data = malloc(pagesize);
- if (!data)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand();
- umask(0);
- fd = creat("conftestmmap", 0600);
- if (fd < 0)
- exit(1);
- if (write(fd, data, pagesize) != pagesize)
- exit(1);
- close(fd);
-
- /*
- * Next, try to mmap the file at a fixed address which
- * already has something else allocated at it. If we can,
- * also make sure that we see the same garbage.
- */
- fd = open("conftestmmap", O_RDWR);
- if (fd < 0)
- exit(1);
- data2 = malloc(2 * pagesize);
- if (!data2)
- exit(1);
- data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit(1);
-
- /*
- * Finally, make sure that changes to the mapped area
- * do not percolate back to the file as seen by read().
- * (This is a bug on some variants of i386 svr4.0.)
- */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = malloc(pagesize);
- if (!data3)
- exit(1);
- if (read(fd, data3, pagesize) != pagesize)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit(1);
- close(fd);
- unlink("conftestmmap");
- exit(0);
-}
-
-EOF
-if { (eval echo configure:1529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_MMAP 1
-EOF
-
-fi
-
-
-# autoconf.info says this should be called right after AC_INIT.
-
-
-ac_aux_dir=
-for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1602: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:1623: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1641: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1685: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1714: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- ac_prog_rejected=no
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1762: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1772 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:1776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1796: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1801: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1810: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1825: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1864: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test "x$cross_compiling" = "xno"; then
- CC_FOR_BUILD='$(CC)'
-else
- CC_FOR_BUILD=gcc
-fi
-
-
-
-
-AR=${AR-ar}
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1930: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-ALL_LINGUAS=
-
- for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1964: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1969 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1974: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2004: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2009 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- if test "${ac_cv_func_stpcpy+set}" != "set"; then
- for ac_func in stpcpy
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2061: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2066 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- fi
- if test "${ac_cv_func_stpcpy}" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define HAVE_STPCPY 1
-EOF
-
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2123: checking for LC_MESSAGES" >&5
-if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2128 "configure"
-#include "confdefs.h"
-#include <locale.h>
-int main() {
-return LC_MESSAGES
-; return 0; }
-EOF
-if { (eval echo configure:2135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- am_cv_val_LC_MESSAGES=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- am_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6
- if test $am_cv_val_LC_MESSAGES = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_LC_MESSAGES 1
-EOF
-
- fi
- fi
- echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:2156: checking whether NLS is requested" >&5
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
- USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- echo "$ac_t""$USE_NLS" 1>&6
-
-
- USE_INCLUDED_LIBINTL=no
-
- if test "$USE_NLS" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define ENABLE_NLS 1
-EOF
-
- echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:2176: checking whether included gettext is requested" >&5
- # Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
- withval="$with_included_gettext"
- nls_cv_force_use_gnu_gettext=$withval
-else
- nls_cv_force_use_gnu_gettext=no
-fi
-
- echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
-
- ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:2195: checking for libintl.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2200 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:2222: checking for gettext in libc" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2227 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- gt_cv_func_gettext_libc=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- gt_cv_func_gettext_libc=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
-
- if test "$gt_cv_func_gettext_libc" != "yes"; then
- echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:2250: checking for bindtextdomain in -lintl" >&5
-ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lintl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2258 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bindtextdomain();
-
-int main() {
-bindtextdomain()
-; return 0; }
-EOF
-if { (eval echo configure:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:2285: checking for gettext in libintl" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2290 "configure"
-#include "confdefs.h"
-
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:2297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- gt_cv_func_gettext_libintl=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- gt_cv_func_gettext_libintl=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- if test "$gt_cv_func_gettext_libc" = "yes" \
- || test "$gt_cv_func_gettext_libintl" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2325: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$ac_t""$MSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- if test "$MSGFMT" != "no"; then
- for ac_func in dcgettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2359: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2364 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2414: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$GMSGFMT" in
- /*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
- echo "$ac_t""$GMSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2449: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$ac_t""$XGETTEXT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- cat > conftest.$ac_ext <<EOF
-#line 2481 "configure"
-#include "confdefs.h"
-
-int main() {
-extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr
-; return 0; }
-EOF
-if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- CATOBJEXT=.gmo
- DATADIRNAME=share
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CATOBJEXT=.mo
- DATADIRNAME=lib
-fi
-rm -f conftest*
- INSTOBJEXT=.mo
- fi
- fi
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
- if test "$CATOBJEXT" = "NONE"; then
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- INTLOBJS="\$(GETTOBJS)"
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2521: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$ac_t""$MSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2555: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$GMSGFMT" in
- /*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
- echo "$ac_t""$GMSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2590: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$ac_t""$XGETTEXT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
- USE_INCLUDED_LIBINTL=yes
- CATOBJEXT=.gmo
- INSTOBJEXT=.mo
- DATADIRNAME=share
- INTLDEPS='$(top_builddir)/../intl/libintl.a'
- INTLLIBS=$INTLDEPS
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
- : ;
- else
- echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6
- XGETTEXT=":"
- fi
- fi
-
- # We need to process the po/ directory.
- POSUB=po
- else
- DATADIRNAME=share
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- # If this is used in GNU gettext we have to set USE_NLS to `yes'
- # because some of the sources are only built for this goal.
- if test "$PACKAGE" = gettext; then
- USE_NLS=yes
- USE_INCLUDED_LIBINTL=yes
- fi
-
- for lang in $ALL_LINGUAS; do
- GMOFILES="$GMOFILES $lang.gmo"
- POFILES="$POFILES $lang.po"
- done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if test "x$CATOBJEXT" != "x"; then
- if test "x$ALL_LINGUAS" = "x"; then
- LINGUAS=
- else
- echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:2680: checking for catalogs to be installed" >&5
- NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
- done
- LINGUAS=$NEW_LINGUAS
- echo "$ac_t""$LINGUAS" 1>&6
- fi
-
- if test -n "$LINGUAS"; then
- for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
- fi
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- INCLUDE_LOCALE_H="#include <locale.h>"
- else
- INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>. Take care yourself. */"
- fi
-
-
- if test -f $srcdir/po2tbl.sed.in; then
- if test "$CATOBJEXT" = ".cat"; then
- ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:2708: checking for linux/version.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2713 "configure"
-#include "confdefs.h"
-#include <linux/version.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- msgformat=linux
-else
- echo "$ac_t""no" 1>&6
-msgformat=xopen
-fi
-
-
- sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
- fi
- sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
- $srcdir/po2tbl.sed.in > po2tbl.sed
- fi
-
- if test "$PACKAGE" = "gettext"; then
- GT_NO="#NO#"
- GT_YES=
- else
- GT_NO=
- GT_YES="#YES#"
- fi
-
-
-
- MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
-
-
- l=
-
-
- if test -d $srcdir/po; then
- test -d po || mkdir po
- if test "x$srcdir" != "x."; then
- if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
- posrcprefix="$srcdir/"
- else
- posrcprefix="../$srcdir/"
- fi
- else
- posrcprefix="../"
- fi
- rm -f po/POTFILES
- sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
- < $srcdir/po/POTFILES.in > po/POTFILES
- fi
-
-
-# Check for common headers.
-# FIXME: Seems to me this can cause problems for i386-windows hosts.
-# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
-for ac_hdr in stdlib.h string.h strings.h unistd.h time.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2787: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2792 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2797: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in sys/time.h sys/resource.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2827: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2832 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in fcntl.h fpu_control.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2867: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2872 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getrusage time sigaction __setfpucw
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2906: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2911 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-. ${srcdir}/../../bfd/configure.host
-
-
-
-USE_MAINTAINER_MODE=no
-# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- case "${enableval}" in
- yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
- no) MAINT="#" ;;
- *) { echo "configure: error: "--enable-maintainer-mode does not take a value"" 1>&2; exit 1; }; MAINT="#" ;;
-esac
-if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
- echo "Setting maintainer mode" 6>&1
-fi
-else
- MAINT="#"
-fi
-
-
-
-# Check whether --enable-sim-bswap or --disable-sim-bswap was given.
-if test "${enable_sim_bswap+set}" = set; then
- enableval="$enable_sim_bswap"
- case "${enableval}" in
- yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
- no) sim_bswap="-DWITH_BSWAP=0";;
- *) { echo "configure: error: "--enable-sim-bswap does not take a value"" 1>&2; exit 1; }; sim_bswap="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
- echo "Setting bswap flags = $sim_bswap" 6>&1
-fi
-else
- sim_bswap=""
-fi
-
-
-
-# Check whether --enable-sim-cflags or --disable-sim-cflags was given.
-if test "${enable_sim_cflags+set}" = set; then
- enableval="$enable_sim_cflags"
- case "${enableval}" in
- yes) sim_cflags="-O2 -fomit-frame-pointer";;
- trace) { echo "configure: error: "Please use --enable-sim-debug instead."" 1>&2; exit 1; }; sim_cflags="";;
- no) sim_cflags="";;
- *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
- echo "Setting sim cflags = $sim_cflags" 6>&1
-fi
-else
- sim_cflags=""
-fi
-
-
-
-# Check whether --enable-sim-debug or --disable-sim-debug was given.
-if test "${enable_sim_debug+set}" = set; then
- enableval="$enable_sim_debug"
- case "${enableval}" in
- yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
- no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
- *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
- echo "Setting sim debug = $sim_debug" 6>&1
-fi
-else
- sim_debug=""
-fi
-
-
-
-# Check whether --enable-sim-stdio or --disable-sim-stdio was given.
-if test "${enable_sim_stdio+set}" = set; then
- enableval="$enable_sim_stdio"
- case "${enableval}" in
- yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
- no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
- *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
- echo "Setting stdio flags = $sim_stdio" 6>&1
-fi
-else
- sim_stdio=""
-fi
-
-
-
-# Check whether --enable-sim-trace or --disable-sim-trace was given.
-if test "${enable_sim_trace+set}" = set; then
- enableval="$enable_sim_trace"
- case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
- [-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
- [a-z]*)
- sim_trace=""
- for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- if test x"$sim_trace" = x; then
- sim_trace="-DWITH_TRACE='(TRACE_$x"
- else
- sim_trace="${sim_trace}|TRACE_$x"
- fi
- done
- sim_trace="$sim_trace)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
- echo "Setting sim trace = $sim_trace" 6>&1
-fi
-else
- sim_trace=""
-fi
-
-
-
-# Check whether --enable-sim-profile or --disable-sim-profile was given.
-if test "${enable_sim_profile+set}" = set; then
- enableval="$enable_sim_profile"
- case "${enableval}" in
- yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
- no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
- [-0-9]*)
- sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
- [a-z]*)
- sim_profile=""
- for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- if test x"$sim_profile" = x; then
- sim_profile="-DWITH_PROFILE='(PROFILE_$x"
- else
- sim_profile="${sim_profile}|PROFILE_$x"
- fi
- done
- sim_profile="$sim_profile)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
- echo "Setting sim profile = $sim_profile" 6>&1
-fi
-else
- sim_profile=""
-fi
-
-
-
-echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3107: checking return type of signal handlers" >&5
-if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3112 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int main() {
-int i;
-; return 0; }
-EOF
-if { (eval echo configure:3129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_type_signal=void
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_type_signal=int
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_type_signal" 1>&6
-cat >> confdefs.h <<EOF
-#define RETSIGTYPE $ac_cv_type_signal
-EOF
-
-
-
-
-sim_link_files=
-sim_link_links=
-
-sim_link_links=tconfig.h
-if test -f ${srcdir}/tconfig.in
-then
- sim_link_files=tconfig.in
-else
- sim_link_files=../common/tconfig.in
-fi
-
-# targ-vals.def points to the libc macro description file.
-case "${target}" in
-*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
-esac
-sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
-sim_link_links="${sim_link_links} targ-vals.def"
-
-
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3173: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3178 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3183: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1 | grep ac_space` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@sim_environment@%$sim_environment%g
-s%@sim_alignment@%$sim_alignment%g
-s%@sim_assert@%$sim_assert%g
-s%@sim_bitsize@%$sim_bitsize%g
-s%@sim_endian@%$sim_endian%g
-s%@sim_hostendian@%$sim_hostendian%g
-s%@sim_float@%$sim_float%g
-s%@sim_scache@%$sim_scache%g
-s%@sim_default_model@%$sim_default_model%g
-s%@sim_hardware@%$sim_hardware%g
-s%@sim_hw_obj@%$sim_hw_obj%g
-s%@sim_hw@%$sim_hw%g
-s%@sim_inline@%$sim_inline%g
-s%@sim_packages@%$sim_packages%g
-s%@sim_regparm@%$sim_regparm%g
-s%@sim_reserved_bits@%$sim_reserved_bits%g
-s%@sim_smp@%$sim_smp%g
-s%@sim_stdcall@%$sim_stdcall%g
-s%@sim_xor_endian@%$sim_xor_endian%g
-s%@sim_warnings@%$sim_warnings%g
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
-s%@HDEFINES@%$HDEFINES%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CPP@%$CPP%g
-s%@ALLOCA@%$ALLOCA%g
-s%@USE_NLS@%$USE_NLS%g
-s%@MSGFMT@%$MSGFMT%g
-s%@GMSGFMT@%$GMSGFMT%g
-s%@XGETTEXT@%$XGETTEXT%g
-s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g
-s%@CATALOGS@%$CATALOGS%g
-s%@CATOBJEXT@%$CATOBJEXT%g
-s%@DATADIRNAME@%$DATADIRNAME%g
-s%@GMOFILES@%$GMOFILES%g
-s%@INSTOBJEXT@%$INSTOBJEXT%g
-s%@INTLDEPS@%$INTLDEPS%g
-s%@INTLLIBS@%$INTLLIBS%g
-s%@INTLOBJS@%$INTLOBJS%g
-s%@POFILES@%$POFILES%g
-s%@POSUB@%$POSUB%g
-s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g
-s%@GT_NO@%$GT_NO%g
-s%@GT_YES@%$GT_YES%g
-s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
-s%@l@%$l%g
-s%@MAINT@%$MAINT%g
-s%@sim_bswap@%$sim_bswap%g
-s%@sim_cflags@%$sim_cflags%g
-s%@sim_debug@%$sim_debug%g
-s%@sim_stdio@%$sim_stdio%g
-s%@sim_trace@%$sim_trace%g
-s%@sim_profile@%$sim_profile%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="config.h:config.in"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="$sim_link_files"
-ac_dests="$sim_link_links"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dest_dir_suffix.
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
- fi
-done
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-case "x$CONFIG_FILES" in
- xMakefile*)
- echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
- rm -f Makesim1.tmp Makesim2.tmp Makefile
- sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
- sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
- sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
- -e '/^## COMMON_POST_/ r Makesim2.tmp' \
- <Makefile.sim >Makefile
- rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
- ;;
- esac
- case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
diff --git a/sim/arm/configure.in b/sim/arm/configure.in
deleted file mode 100644
index 033b0bc..0000000
--- a/sim/arm/configure.in
+++ /dev/null
@@ -1,10 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-sinclude(../common/aclocal.m4)
-AC_PREREQ(2.5)dnl
-AC_INIT(Makefile.in)
-
-SIM_AC_COMMON
-
-AC_CHECK_HEADERS(unistd.h)
-
-SIM_AC_OUTPUT
diff --git a/sim/arm/dbg_conf.h b/sim/arm/dbg_conf.h
deleted file mode 100644
index 1220747..0000000
--- a/sim/arm/dbg_conf.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* dbg_conf.h -- ARMulator debug interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifndef Dbg_Conf__h
-
-#define Dbg_Conf__h
-
-typedef struct Dbg_ConfigBlock {
- int bytesex;
- long memorysize;
- int serialport; /*) remote connection parameters */
- int seriallinespeed; /*) (serial connection) */
- int parallelport; /*) ditto */
- int parallellinespeed; /*) (parallel connection) */
- int processor; /* processor the armulator is to emulate (eg ARM60) */
- int rditype; /* armulator / remote processor */
- int drivertype; /* parallel / serial / etc */
- char const *configtoload;
- int flags;
-} Dbg_ConfigBlock;
-
-#define Dbg_ConfigFlag_Reset 1
-
-typedef struct Dbg_HostosInterface Dbg_HostosInterface;
-/* This structure allows access by the (host-independent) C-library support
- module of armulator or pisd (armos.c) to host-dependent functions for
- which there is no host-independent interface. Its contents are unknown
- to the debugger toolbox.
- The assumption is that, in a windowed system, fputc(stderr) for example
- may not achieve the desired effect of the character appearing in some
- window.
- */
-
-#endif
diff --git a/sim/arm/dbg_cp.h b/sim/arm/dbg_cp.h
deleted file mode 100644
index b79de8f..0000000
--- a/sim/arm/dbg_cp.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* dbg_cp.h -- ARMulator debug interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifndef Dbg_CP__h
-
-#define Dbg_CP__h
-
-#define Dbg_Access_Readable 1
-#define Dbg_Access_Writable 2
-#define Dbg_Access_CPDT 4 /* else CPRT */
-
-typedef struct {
- unsigned short rmin, rmax;
- /* a single description can be used for a range of registers with
- the same properties *accessed via CPDT instructions*
- */
- unsigned char nbytes; /* size of register */
- unsigned char access; /* see above (Access_xxx) */
- union {
- struct { /* CPDT instructions do not allow the coprocessor much freedom:
- only bit 22 ('N') and 12-15 ('CRd') are free for the
- coprocessor to use as it sees fit.
- */
- unsigned char nbit;
- unsigned char rdbits;
- } cpdt;
- struct { /* CPRT instructions have much more latitude. The bits fixed
- by the ARM are 24..31 (condition mask & opcode)
- 20 (direction)
- 8..15 (cpnum, arm register)
- 4 (CPRT not CPDO)
- leaving 14 bits free to the coprocessor (fortunately
- falling within two bytes).
- */
- unsigned char read_b0, read_b1,
- write_b0, write_b1;
- } cprt;
- } accessinst;
-} Dbg_CoProRegDesc;
-
-struct Dbg_CoProDesc {
- int entries;
- Dbg_CoProRegDesc regdesc[1/* really nentries */];
-};
-
-#define Dbg_CoProDesc_Size(n) (sizeof(struct Dbg_CoProDesc) + (n-1)*sizeof(Dbg_CoProRegDesc))
-
-#endif
diff --git a/sim/arm/dbg_hif.h b/sim/arm/dbg_hif.h
deleted file mode 100644
index fa3df1b..0000000
--- a/sim/arm/dbg_hif.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* dbg_hif.h -- ARMulator debug interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifdef __STDC__
-# include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
-
-typedef void Hif_DbgPrint(void *arg, const char *format, va_list ap);
-typedef void Hif_DbgPause(void *arg);
-
-typedef void Hif_WriteC(void *arg, int c);
-typedef int Hif_ReadC(void *arg);
-typedef int Hif_Write(void *arg, char const *buffer, int len);
-typedef char *Hif_GetS(void *arg, char *buffer, int len);
-
-typedef void Hif_RDIResetProc(void *arg);
-
-struct Dbg_HostosInterface {
- Hif_DbgPrint *dbgprint;
- Hif_DbgPause *dbgpause;
- void *dbgarg;
-
- Hif_WriteC *writec;
- Hif_ReadC *readc;
- Hif_Write *write;
- Hif_GetS *gets;
- void *hostosarg;
-
- Hif_RDIResetProc *reset;
- void *resetarg;
-};
diff --git a/sim/arm/dbg_rdi.h b/sim/arm/dbg_rdi.h
deleted file mode 100644
index 5d609d0..0000000
--- a/sim/arm/dbg_rdi.h
+++ /dev/null
@@ -1,323 +0,0 @@
-/* dbg_rdi.h -- ARMulator RDI interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifndef dbg_rdi__h
-#define dbg_rdi__h
-
-/***************************************************************************\
-* Error Codes *
-\***************************************************************************/
-
-#define RDIError_NoError 0
-
-#define RDIError_Reset 1
-#define RDIError_UndefinedInstruction 2
-#define RDIError_SoftwareInterrupt 3
-#define RDIError_PrefetchAbort 4
-#define RDIError_DataAbort 5
-#define RDIError_AddressException 6
-#define RDIError_IRQ 7
-#define RDIError_FIQ 8
-#define RDIError_Error 9
-#define RDIError_BranchThrough0 10
-
-#define RDIError_NotInitialised 128
-#define RDIError_UnableToInitialise 129
-#define RDIError_WrongByteSex 130
-#define RDIError_UnableToTerminate 131
-#define RDIError_BadInstruction 132
-#define RDIError_IllegalInstruction 133
-#define RDIError_BadCPUStateSetting 134
-#define RDIError_UnknownCoPro 135
-#define RDIError_UnknownCoProState 136
-#define RDIError_BadCoProState 137
-#define RDIError_BadPointType 138
-#define RDIError_UnimplementedType 139
-#define RDIError_BadPointSize 140
-#define RDIError_UnimplementedSize 141
-#define RDIError_NoMorePoints 142
-#define RDIError_BreakpointReached 143
-#define RDIError_WatchpointAccessed 144
-#define RDIError_NoSuchPoint 145
-#define RDIError_ProgramFinishedInStep 146
-#define RDIError_UserInterrupt 147
-#define RDIError_CantSetPoint 148
-#define RDIError_IncompatibleRDILevels 149
-
-#define RDIError_CantLoadConfig 150
-#define RDIError_BadConfigData 151
-#define RDIError_NoSuchConfig 152
-#define RDIError_BufferFull 153
-#define RDIError_OutOfStore 154
-#define RDIError_NotInDownload 155
-#define RDIError_PointInUse 156
-#define RDIError_BadImageFormat 157
-#define RDIError_TargetRunning 158
-
-#define RDIError_LittleEndian 240
-#define RDIError_BigEndian 241
-#define RDIError_SoftInitialiseError 242
-
-#define RDIError_InsufficientPrivilege 253
-#define RDIError_UnimplementedMessage 254
-#define RDIError_UndefinedMessage 255
-
-/***************************************************************************\
-* RDP Message Numbers *
-\***************************************************************************/
-
-#define RDP_Start (unsigned char)0x0
-#define RDP_End (unsigned char)0x1
-#define RDP_Read (unsigned char)0x2
-#define RDP_Write (unsigned char)0x3
-#define RDP_CPUread (unsigned char)0x4
-#define RDP_CPUwrite (unsigned char)0x5
-#define RDP_CPread (unsigned char)0x6
-#define RDP_CPwrite (unsigned char)0x7
-#define RDP_SetBreak (unsigned char)0xa
-#define RDP_ClearBreak (unsigned char)0xb
-#define RDP_SetWatch (unsigned char)0xc
-#define RDP_ClearWatch (unsigned char)0xd
-#define RDP_Execute (unsigned char)0x10
-#define RDP_Step (unsigned char)0x11
-#define RDP_Info (unsigned char)0x12
-#define RDP_OSOpReply (unsigned char)0x13
-
-#define RDP_AddConfig (unsigned char)0x14
-#define RDP_LoadConfigData (unsigned char)0x15
-#define RDP_SelectConfig (unsigned char)0x16
-#define RDP_LoadAgent (unsigned char)0x17
-
-#define RDP_Stopped (unsigned char)0x20
-#define RDP_OSOp (unsigned char)0x21
-#define RDP_Fatal (unsigned char)0x5e
-#define RDP_Return (unsigned char)0x5f
-#define RDP_Reset (unsigned char)0x7f
-
-/***************************************************************************\
-* Other RDI values *
-\***************************************************************************/
-
-#define RDISex_Little 0 /* the byte sex of the debuggee */
-#define RDISex_Big 1
-#define RDISex_DontCare 2
-
-#define RDIPoint_EQ 0 /* the different types of break/watchpoints */
-#define RDIPoint_GT 1
-#define RDIPoint_GE 2
-#define RDIPoint_LT 3
-#define RDIPoint_LE 4
-#define RDIPoint_IN 5
-#define RDIPoint_OUT 6
-#define RDIPoint_MASK 7
-
-#define RDIPoint_Inquiry 64 /* ORRed with point type in extended RDP */
-#define RDIPoint_Handle 128 /* messages */
-
-#define RDIWatch_ByteRead 1 /* types of data accesses to watch for */
-#define RDIWatch_HalfRead 2
-#define RDIWatch_WordRead 4
-#define RDIWatch_ByteWrite 8
-#define RDIWatch_HalfWrite 16
-#define RDIWatch_WordWrite 32
-
-#define RDIReg_R15 (1L << 15) /* mask values for CPU */
-#define RDIReg_PC (1L << 16)
-#define RDIReg_CPSR (1L << 17)
-#define RDIReg_SPSR (1L << 18)
-#define RDINumCPURegs 19
-
-#define RDINumCPRegs 10 /* current maximum */
-
-#define RDIMode_Curr 255
-
-/* Bits set in return value from RDIInfo_Target */
-#define RDITarget_LogSpeed 0x0f
-#define RDITarget_HW 0x10 /* else emulator */
-#define RDITarget_AgentMaxLevel 0xe0
-#define RDITarget_AgentLevelShift 5
-#define RDITarget_DebuggerMinLevel 0x700
-#define RDITarget_DebuggerLevelShift 8
-#define RDITarget_CanReloadAgent 0x800
-#define RDITarget_CanInquireLoadSize 0x1000
-
-/* Bits set in return value from RDIInfo_Step */
-#define RDIStep_Multiple 1
-#define RDIStep_PCChange 2
-#define RDIStep_Single 4
-
-/* Bits set in return value from RDIInfo_Points */
-#define RDIPointCapability_Comparison 1
-#define RDIPointCapability_Range 2
-/* 4 to 128 are RDIWatch_xx{Read,Write} left-shifted by two */
-#define RDIPointCapability_Mask 256
-#define RDIPointCapability_Status 512 /* Point status enquiries available */
-
-/* RDI_Info subcodes */
-#define RDIInfo_Target 0
-#define RDIInfo_Points 1
-#define RDIInfo_Step 2
-#define RDIInfo_MMU 3
-#define RDIInfo_DownLoad 4 /* Inquires whether configuration download
- and selection is available.
- */
-#define RDIInfo_SemiHosting 5 /* Inquires whether RDISemiHosting_* RDI_Info
- calls are available.
- */
-#define RDIInfo_CoPro 6 /* Inquires whether CoPro RDI_Info calls are
- available.
- */
-#define RDIInfo_Icebreaker 7
-
-/* The next two are only to be used if the value returned by RDIInfo_Points */
-/* has RDIPointCapability_Status set. */
-#define RDIPointStatus_Watch 0x80
-#define RDIPointStatus_Break 0x81
-
-#define RDISignal_Stop 0x100
-
-#define RDIVector_Catch 0x180
-
-/* The next four are only to be used if RDIInfo_Semihosting returned no error */
-#define RDISemiHosting_SetState 0x181
-#define RDISemiHosting_GetState 0x182
-#define RDISemiHosting_SetVector 0x183
-#define RDISemiHosting_GetVector 0x184
-
-/* The next two are only to be used if RDIInfo_Icebreaker returned no error */
-#define RDIIcebreaker_GetLocks 0x185
-#define RDIIcebreaker_SetLocks 0x186
-
-/* Only if RDIInfo_Target returned RDITarget_CanInquireLoadSize */
-#define RDIInfo_GetLoadSize 0x187
-
-#define RDICycles 0x200
-#define RDICycles_Size 48
-#define RDIErrorP 0x201
-
-#define RDISet_Cmdline 0x300
-#define RDISet_RDILevel 0x301
-#define RDISet_Thread 0x302
-
-/* The next two are only to be used if RDIInfo_CoPro returned no error */
-#define RDIInfo_DescribeCoPro 0x400
-#define RDIInfo_RequestCoProDesc 0x401
-
-#define RDIInfo_Log 0x800
-#define RDIInfo_SetLog 0x801
-
-typedef unsigned long PointHandle;
-typedef unsigned long ThreadHandle;
-#define RDINoPointHandle ((PointHandle)-1L)
-#define RDINoHandle ((ThreadHandle)-1L)
-
-struct Dbg_ConfigBlock;
-struct Dbg_HostosInterface;
-struct Dbg_MCState;
-typedef int rdi_open_proc(unsigned type, struct Dbg_ConfigBlock const *config,
- struct Dbg_HostosInterface const *i,
- struct Dbg_MCState *dbg_state);
-typedef int rdi_close_proc(void);
-typedef int rdi_read_proc(ARMword source, void *dest, unsigned *nbytes);
-typedef int rdi_write_proc(const void *source, ARMword dest, unsigned *nbytes);
-typedef int rdi_CPUread_proc(unsigned mode, unsigned long mask, ARMword *state);
-typedef int rdi_CPUwrite_proc(unsigned mode, unsigned long mask, ARMword const *state);
-typedef int rdi_CPread_proc(unsigned CPnum, unsigned long mask, ARMword *state);
-typedef int rdi_CPwrite_proc(unsigned CPnum, unsigned long mask, ARMword const *state);
-typedef int rdi_setbreak_proc(ARMword address, unsigned type, ARMword bound,
- PointHandle *handle);
-typedef int rdi_clearbreak_proc(PointHandle handle);
-typedef int rdi_setwatch_proc(ARMword address, unsigned type, unsigned datatype,
- ARMword bound, PointHandle *handle);
-typedef int rdi_clearwatch_proc(PointHandle handle);
-typedef int rdi_execute_proc(PointHandle *handle);
-typedef int rdi_step_proc(unsigned ninstr, PointHandle *handle);
-typedef int rdi_info_proc(unsigned type, ARMword *arg1, ARMword *arg2);
-typedef int rdi_pointinq_proc(ARMword *address, unsigned type,
- unsigned datatype, ARMword *bound);
-
-typedef enum {
- RDI_ConfigCPU,
- RDI_ConfigSystem
-} RDI_ConfigAspect;
-
-typedef enum {
- RDI_MatchAny,
- RDI_MatchExactly,
- RDI_MatchNoEarlier
-} RDI_ConfigMatchType;
-
-typedef int rdi_addconfig_proc(unsigned long nbytes);
-typedef int rdi_loadconfigdata_proc(unsigned long nbytes, char const *data);
-typedef int rdi_selectconfig_proc(RDI_ConfigAspect aspect, char const *name,
- RDI_ConfigMatchType matchtype, unsigned versionreq,
- unsigned *versionp);
-
-typedef char *getbufferproc(void *getbarg, unsigned long *sizep);
-typedef int rdi_loadagentproc(ARMword dest, unsigned long size, getbufferproc *getb, void *getbarg);
-
-typedef struct {
- int itemmax;
- char const * const *names;
-} RDI_NameList;
-
-typedef RDI_NameList const *rdi_namelistproc(void);
-
-typedef int rdi_errmessproc(char *buf, int buflen, int errno);
-
-struct RDIProcVec {
- char rditypename[12];
-
- rdi_open_proc *open;
- rdi_close_proc *close;
- rdi_read_proc *read;
- rdi_write_proc *write;
- rdi_CPUread_proc *CPUread;
- rdi_CPUwrite_proc *CPUwrite;
- rdi_CPread_proc *CPread;
- rdi_CPwrite_proc *CPwrite;
- rdi_setbreak_proc *setbreak;
- rdi_clearbreak_proc *clearbreak;
- rdi_setwatch_proc *setwatch;
- rdi_clearwatch_proc *clearwatch;
- rdi_execute_proc *execute;
- rdi_step_proc *step;
- rdi_info_proc *info;
- /* V2 RDI */
- rdi_pointinq_proc *pointinquiry;
-
- /* These three useable only if RDIInfo_DownLoad returns no error */
- rdi_addconfig_proc *addconfig;
- rdi_loadconfigdata_proc *loadconfigdata;
- rdi_selectconfig_proc *selectconfig;
-
- rdi_namelistproc *drivernames;
- rdi_namelistproc *cpunames;
-
- rdi_errmessproc *errmess;
-
- /* Only if RDIInfo_Target returns a value with RDITarget_LoadAgent set */
- rdi_loadagentproc *loadagent;
-};
-
-#endif
-
-
-
-
-
-
diff --git a/sim/arm/gdbhost.c b/sim/arm/gdbhost.c
deleted file mode 100644
index 9e6e2ef..0000000
--- a/sim/arm/gdbhost.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* gdbhost.c -- ARMulator RDP to gdb comms code: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/***********************************************************/
-/* Functions that communicate info back to the debugger... */
-/***********************************************************/
-
-#include <stdio.h>
-#include <stdarg.h>
-#include "armdefs.h"
-#include "communicate.h"
-#include "dbg_rdi.h"
-#include "armos.h"
-
-#define OS_SendNothing 0x0
-#define OS_SendChar 0x1
-#define OS_SendWord 0x2
-#define OS_SendString 0x3
-
-/* Defined in kid.c */
-extern int wait_for_osreply(ARMword *reply);
-
-/* A pipe for handling SWI return values that goes straight from the */
-/* parent to the ARMulator host interface, bypassing the childs RDP */
-/* to RDI interpreter */
-int DebuggerARMul[2];
-
-/* The pipes between the two processes */
-int mumkid[2];
-int kidmum[2];
-
-void myprint (void *arg, const char *format, va_list ap)
-{
-#ifdef DEBUG
- fprintf (stderr, "Host: myprint\n");
-#endif
- vfprintf (stderr, format, ap);
-}
-
-
-/* Waits for a keypress on the debuggers' keyboard */
-void mypause (void *arg)
-{
-#ifdef DEBUG
- fprintf (stderr, "Host: mypause\n");
-#endif
-} /* I do love exciting functions */
-
-void mywritec(void *arg, int c)
-{
-#ifdef DEBUG
- fprintf(stderr, "Mywrite : %c\n", c);
-#endif
- MYwrite_char(kidmum[1], RDP_OSOp); /* OS Operation Request Message */
- MYwrite_word(kidmum[1], SWI_WriteC); /* Print... */
- MYwrite_char(kidmum[1], OS_SendChar); /* ...a single character */
- MYwrite_char(kidmum[1], (unsigned char) c);
-
- wait_for_osreply((ARMword *) 0);
-}
-
-int myreadc(void *arg)
-{
- char c;
- ARMword x;
-
-#ifdef DEBUG
- fprintf(stderr, "Host: myreadc\n");
-#endif
- MYwrite_char(kidmum[1], RDP_OSOp); /* OS Operation Request Message */
- MYwrite_word(kidmum[1], SWI_ReadC); /* Read... */
- MYwrite_char(kidmum[1], OS_SendNothing);
-
- c = wait_for_osreply(&x);
- return (x);
-}
-
-
-int mywrite(void *arg, char const *buffer, int len)
-{
-#ifdef DEBUG
- fprintf(stderr, "Host: mywrite\n");
-#endif
- return 0;
-}
-
-char *mygets(void *arg, char *buffer, int len)
-{
-#ifdef DEBUG
- fprintf(stderr, "Host: mygets\n");
-#endif
- return buffer;
-}
diff --git a/sim/arm/gdbhost.h b/sim/arm/gdbhost.h
deleted file mode 100644
index 0a10787..0000000
--- a/sim/arm/gdbhost.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* gdbhost.h -- ARMulator to gdb interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-void myprint(void *arg, const char *format, va_list ap);
-void mypause(void *arg);
-void mywritec(void *arg, int c);
-int myreadc(void *arg);
-int mywrite(void *arg, char const *buffer, int len);
-char *mygets(void *arg, char *buffer, int len);
diff --git a/sim/arm/kid.c b/sim/arm/kid.c
deleted file mode 100644
index 7a0a521..0000000
--- a/sim/arm/kid.c
+++ /dev/null
@@ -1,510 +0,0 @@
-/* kid.c -- ARMulator RDP/RDI interface: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*****************************************************************/
-/* The child process continues here... */
-/* It waits on a pipe from the parent and translates the RDP */
-/* messages into RDI calls to the ARMulator passing RDP replies */
-/* back up a pipe to the parent. */
-/*****************************************************************/
-
-#include <sys/types.h>
-#include <signal.h>
-
-#include "armdefs.h"
-#include "dbg_conf.h"
-#include "dbg_hif.h"
-#include "dbg_rdi.h"
-#include "gdbhost.h"
-#include "communicate.h"
-
-/* The pipes between the two processes */
-extern int mumkid[2];
-extern int kidmum[2];
-
-/* The maximum number of file descriptors */
-extern int nfds;
-
-/* The machine name */
-#define MAXHOSTNAMELENGTH 64
-extern char localhost[MAXHOSTNAMELENGTH + 1];
-
-/* The socket number */
-extern unsigned int socketnumber;
-
-/* RDI interface */
-extern const struct RDIProcVec armul_rdi;
-
-static int MYrdp_level = 0;
-
-static int rdi_state = 0;
-
-/**************************************************************/
-/* Signal handler that terminates excecution in the ARMulator */
-/**************************************************************/
-void kid_handlesignal(int sig) {
-#ifdef DEBUG
- fprintf(stderr, "Terminate ARMulator excecution\n");
-#endif
- if (sig != SIGUSR1) {
- fprintf(stderr, "Unsupported signal.\n");
- return;
- }
- armul_rdi.info(RDISignal_Stop, (unsigned long *) 0, (unsigned long *) 0);
-}
-
-/********************************************************************/
-/* Waits on a pipe from the socket demon for RDP and */
-/* acts as an RDP to RDI interpreter on the front of the ARMulator. */
-/********************************************************************/
-void kid() {
- char *p, *q;
- int i, j, k;
- long outofthebag;
- unsigned char c, d, message;
- ARMword x, y, z;
- struct sigaction action;
- PointHandle point;
- Dbg_ConfigBlock config;
- Dbg_HostosInterface hostif;
- struct Dbg_MCState *MCState;
- char command_line[256];
- struct fd_set readfds;
-
- /* Setup a signal handler for SIGUSR1 */
- action.sa_handler = kid_handlesignal;
- action.sa_mask = 0;
- action.sa_flags = 0;
-
- sigaction(SIGUSR1, &action, (struct sigaction *) 0);
-
- while (1)
- {
- /* Wait for ever */
- FD_ZERO(&readfds);
- FD_SET(mumkid[0], &readfds);
-
- i = select(nfds, &readfds,
- (fd_set *) 0,
- (fd_set *) 0,
- (struct timeval *) 0);
-
- if (i < 0) {
- perror("select");
- }
-
- if (read(mumkid[0], &message, 1) < 1) {
- perror("read");
- }
-
- switch (message) {
- case RDP_Start :
- /* Open and/or Initialise */
- BAG_newbag();
-
- MYread_char(mumkid[0], &c); /* type */
- MYread_word(mumkid[0], &x); /* memorysize */
- if (c & 0x2) MYread_char(mumkid[0], &d); /* speed */
- config.processor = 0;
- config.memorysize = x;
- config.bytesex = (c & 0x4) ? RDISex_Big : RDISex_Little;
- if (c & 0x8) config.bytesex = RDISex_DontCare;
-
- hostif.dbgprint = myprint;
- hostif.dbgpause = mypause;
- hostif.dbgarg = stdout;
- hostif.writec = mywritec;
- hostif.readc = myreadc;
- hostif.write = mywrite;
- hostif.gets = mygets;
- hostif.reset = mypause; /* do nothing */
- hostif.resetarg = "Do I love resetting or what!\n";
-
- if (rdi_state)
- {
- /* we have restarted, so kill off the existing run. */
- /* armul_rdi.close(); */
- }
- i = armul_rdi.open(c & 0x3, &config, &hostif, MCState);
- rdi_state = 1;
-
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
-
- x = ~0x4;
- armul_rdi.info(RDIVector_Catch, &x, 0);
-
- break;
-
- case RDP_End :
- /* Close and Finalise */
- i = armul_rdi.close();
- rdi_state = 0;
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_Read :
- /* Read Memory Address */
- MYread_word(mumkid[0], &x); /* address */
- MYread_word(mumkid[0], &y); /* nbytes */
- p = (char *) malloc(y);
- i = armul_rdi.read(x, p, (unsigned *) &y);
- MYwrite_char(kidmum[1], RDP_Return);
- for (k = 0; k < y; k++)
- MYwrite_char(kidmum[1], p[k]);
- free(p);
- MYwrite_char(kidmum[1], (unsigned char) i);
- if (i)
- MYwrite_word(kidmum[1], y); /* number of bytes sent without error */
- break;
-
- case RDP_Write :
- /* Write Memory Address */
- MYread_word(mumkid[0], &x); /* address */
- MYread_word(mumkid[0], &y); /* nbytes */
- p = (char *) malloc(y);
- for (k = 0; k < y; k++)
- MYread_char(mumkid[0], &p[k]);
- i = armul_rdi.write(p, x, (unsigned *) &y);
- free(p);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- if (i)
- MYwrite_word(kidmum[1], y); /* number of bytes sent without error */
- break;
-
- case RDP_CPUread :
- /* Read CPU State */
- MYread_char(mumkid[0], &c); /* mode */
- MYread_word(mumkid[0], &x); /* mask */
- p = (char *) malloc(4 * RDINumCPURegs);
- i = armul_rdi.CPUread(c, x, (ARMword *) p);
- MYwrite_char(kidmum[1], RDP_Return);
- for (k = 1, j = 0; k != 0x80000000; k *= 2)
- if (k & x) MYwrite_word(kidmum[1], ((ARMword *) p)[j++]);
- free(p);
- if (i) MYwrite_char(kidmum[1], (unsigned char) j);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_CPUwrite :
- /* Write CPU State */
- MYread_char(mumkid[0], &c); /* mode */
- MYread_word(mumkid[0], &x); /* mask */
-
- p = (char *) malloc(4 * RDINumCPURegs);
- for (k = 1, j = 0; k != 0x80000000; k *= 2)
- if (k & x) MYread_word(mumkid[0], &(((ARMword *) p)[j++]));
- i = armul_rdi.CPUwrite(c, x, (ARMword *) p);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- free(p);
- break;
-
- case RDP_CPread :
- /* Read Co-Processor State */
- MYread_char(mumkid[0], &c); /* CPnum */
- MYread_word(mumkid[0], &x); /* mask */
- p = q = (char *) malloc(16 * RDINumCPRegs);
- i = armul_rdi.CPread(c, x, (ARMword *) p);
- MYwrite_char(kidmum[1], RDP_Return);
- for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
- if (k & x) {
- if ((c == 1 || c == 2) && k <= 128) {
- MYwrite_FPword(kidmum[1], q);
- q += 16;
- }
- else {
- MYwrite_word(kidmum[1], *q);
- q += 4;
- }
- }
- free(p);
- if (i) MYwrite_char(kidmum[1], (unsigned char) j);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_CPwrite :
- /* Write Co-Processor State */
- MYread_char(mumkid[0], &c); /* CPnum */
- MYread_word(mumkid[0], &x); /* mask */
- p = q = (char *) malloc(16 * RDINumCPURegs);
- for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
- if (k & x) {
- if ((c == 1 || c == 2) && k <= 128) {
- MYread_FPword(kidmum[1], q);
- q += 16;
- }
- else {
- MYread_word(mumkid[0], (ARMword *) q);
- q += 4;
- }
- }
- i = armul_rdi.CPwrite(c, x, (ARMword *) p);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- free(p);
- break;
-
- case RDP_SetBreak :
- /* Set Breakpoint */
- MYread_word(mumkid[0], &x); /* address */
- MYread_char(mumkid[0], &c); /* type */
- if ((c & 0xf) >= 5) MYread_word(mumkid[0], &y); /* bound */
- i = armul_rdi.setbreak(x, c, y, &point);
- if (!MYrdp_level) BAG_putpair((long) x, (long) point);
- MYwrite_char(kidmum[1], RDP_Return);
- if (MYrdp_level) MYwrite_word(kidmum[1], point);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_ClearBreak :
- /* Clear Breakpoint */
- MYread_word(mumkid[0], &point); /* PointHandle */
- if (!MYrdp_level) {
- BAG_getsecond((long) point, &outofthebag); /* swap pointhandle for address */
- BAG_killpair_byfirst(outofthebag);
- point = outofthebag;
- }
- i = armul_rdi.clearbreak(point);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_SetWatch :
- /* Set Watchpoint */
- MYread_word(mumkid[0], &x); /* address */
- MYread_char(mumkid[0], &c); /* type */
- MYread_char(mumkid[0], &d); /* datatype */
- if ((c & 0xf) >= 5) MYread_word(mumkid[0], &y); /* bound */
- i = armul_rdi.setwatch(x, c, d, y, &point);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_word(kidmum[1], point);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_ClearWatch :
- /* Clear Watchpoint */
- MYread_word(mumkid[0], &point); /* PointHandle */
- i = armul_rdi.clearwatch(point);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_Execute :
- /* Excecute */
-
- MYread_char(mumkid[0], &c); /* return */
-
-#ifdef DEBUG
- fprintf(stderr, "Starting execution\n");
-#endif
- i = armul_rdi.execute(&point);
-#ifdef DEBUG
- fprintf(stderr, "Completed execution\n");
-#endif
- MYwrite_char(kidmum[1], RDP_Return);
- if (c & 0x80) MYwrite_word(kidmum[1], point);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_Step :
- /* Step */
- MYread_char(mumkid[0], &c); /* return */
- MYread_word(mumkid[0], &x); /* ninstr */
- point = 0x87654321;
- i = armul_rdi.step(x, &point);
- MYwrite_char(kidmum[1], RDP_Return);
- if (c & 0x80) MYwrite_word(kidmum[1], point);
- MYwrite_char(kidmum[1], (unsigned char) i);
- break;
-
- case RDP_Info:
- /* Info */
- MYread_word (mumkid[0], &x);
- switch (x)
- {
- case RDIInfo_Target:
- i = armul_rdi.info (RDIInfo_Target, &y, &z);
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_word (kidmum[1], y); /* Loads of info... */
- MYwrite_word (kidmum[1], z); /* Model */
- MYwrite_char (kidmum[1], (unsigned char) i);
- break;
-
- case RDISet_RDILevel:
- MYread_word (mumkid[0], &x); /* arg1, debug level */
- i = armul_rdi.info (RDISet_RDILevel, &x, 0);
- if (i == RDIError_NoError)
- MYrdp_level = x;
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_char (kidmum[1], (unsigned char) i);
- break;
-
- case RDISet_Cmdline:
- for (p = command_line; MYread_char (mumkid[0], p), *p; p++)
- ; /* String */
- i = armul_rdi.info (RDISet_Cmdline,
- (unsigned long *) command_line, 0);
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_char (kidmum[1], (unsigned char) i);
- break;
-
- case RDIInfo_Step:
- i = armul_rdi.info (RDIInfo_Step, &x, 0);
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_word (kidmum[1], x);
- MYwrite_char (kidmum[1], (unsigned char) i);
- break;
-
- case RDIVector_Catch:
- MYread_word (mumkid[0], &x);
- i = armul_rdi.info (RDIVector_Catch, &x, 0);
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_char (kidmum[1], i);
- break;
-
- case RDIInfo_Points:
- i = armul_rdi.info (RDIInfo_Points, &x, 0);
- MYwrite_char (kidmum[1], RDP_Return);
- MYwrite_word (kidmum[1], x);
- MYwrite_char (kidmum[1], (unsigned char) i);
- break;
-
- default:
- fprintf (stderr, "Unsupported info code %d\n", x);
- break;
- }
- break;
-
- case RDP_OSOpReply:
- /* OS Operation Reply */
- MYwrite_char (kidmum[1], RDP_Fatal);
- break;
-
- case RDP_Reset:
- /* Reset */
- for (i = 0; i < 50; i++)
- MYwrite_char(kidmum[1], RDP_Reset);
- p = (char *) malloc(MAXHOSTNAMELENGTH + 5 + 20);
- sprintf(p, "Running on %s:%d\n", localhost, socketnumber);
- MYwrite_string(kidmum[1], p);
- free(p);
-
- break;
- default:
- fprintf (stderr, "Oh dear: Something is seriously wrong :-(\n");
- /* Hmm.. bad RDP operation */
- break;
- }
- }
-}
-
-
-/* Handles memory read operations until an OS Operation Reply Message is */
-/* encounterd. It then returns the byte info value (0, 1, or 2) and fills */
-/* in 'putinr0' with the data if appropriate. */
-int wait_for_osreply(ARMword *reply)
-{
- char *p, *q;
- int i, j, k;
- unsigned char c, d, message;
- ARMword x, y, z;
- struct sigaction action;
- PointHandle point;
- Dbg_ConfigBlock config;
- Dbg_HostosInterface hostif;
- struct Dbg_MCState *MCState;
- char command_line[256];
- struct fd_set readfds;
-
-#ifdef DEBUG
- fprintf(stderr, "wait_for_osreply ().\n");
-#endif
-
- /* Setup a signal handler for SIGUSR1 */
- action.sa_handler = kid_handlesignal;
- action.sa_mask = 0;
- action.sa_flags = 0;
-
- sigaction(SIGUSR1, &action, (struct sigaction *) 0);
-
- while (1)
- {
- /* Wait for ever */
- FD_ZERO(&readfds);
- FD_SET(mumkid[0], &readfds);
-
- i = select(nfds, &readfds,
- (fd_set *) 0,
- (fd_set *) 0,
- (struct timeval *) 0);
-
- if (i < 0) {
- perror("select");
- }
-
- if (read(mumkid[0], &message, 1) < 1) {
- perror("read");
- }
-
- switch (message) {
- case RDP_Read :
- /* Read Memory Address */
- MYread_word(mumkid[0], &x); /* address */
- MYread_word(mumkid[0], &y); /* nbytes */
- p = (char *) malloc(y);
- i = armul_rdi.read(x, p, (unsigned *) &y);
- MYwrite_char(kidmum[1], RDP_Return);
- for (k = 0; k < y; k++)
- MYwrite_char(kidmum[1], p[k]);
- free(p);
- MYwrite_char(kidmum[1], (unsigned char) i);
- if (i)
- MYwrite_word(kidmum[1], y); /* number of bytes sent without error */
- break;
-
- case RDP_Write :
- /* Write Memory Address */
- MYread_word(mumkid[0], &x); /* address */
- MYread_word(mumkid[0], &y); /* nbytes */
- p = (char *) malloc(y);
- for (k = 0; k < y; k++)
- MYread_char(mumkid[0], &p[k]);
- i = armul_rdi.write(p, x, (unsigned *) &y);
- free(p);
- MYwrite_char(kidmum[1], RDP_Return);
- MYwrite_char(kidmum[1], (unsigned char) i);
- if (i)
- MYwrite_word(kidmum[1], y); /* number of bytes sent without error */
- break;
-
- case RDP_OSOpReply :
- /* OS Operation Reply */
- MYread_char(mumkid[0], &c);
- if (c == 1) MYread_char(mumkid[0], (char *) reply);
- if (c == 2) MYread_word(mumkid[0], reply);
- return c;
- break;
-
- default :
- fprintf(stderr, "HELP! Unaccounted-for message during OS request. \n");
- MYwrite_char(kidmum[1], RDP_Fatal);
- }
- }
-}
diff --git a/sim/arm/main.c b/sim/arm/main.c
deleted file mode 100644
index 5de48e3..0000000
--- a/sim/arm/main.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* main.c -- top level of ARMulator: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/**********************************************************************/
-/* Forks the ARMulator and hangs on a socket passing on RDP messages */
-/* down a pipe to the ARMulator which translates them into RDI calls. */
-/**********************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <signal.h>
-#include <netdb.h>
-#include <unistd.h>
-
-#include "armdefs.h"
-#include "dbg_rdi.h"
-#include "dbg_conf.h"
-
-#define MAXHOSTNAMELENGTH 64
-
-/* Read and write routines down sockets and pipes */
-
-void MYread_chars(int sock, void *p, int n);
-unsigned char MYread_char(int sock);
-ARMword MYread_word(int sock);
-void MYread_FPword(int sock, char *putinhere);
-
-void MYwrite_word(int sock, ARMword i);
-void MYwrite_string(int sock, char *s);
-void MYwrite_FPword(int sock, char *fromhere);
-void MYwrite_char(int sock, unsigned char c);
-
-void passon(int source, int dest, int n);
-
-
-/* Mother and child processes */
-void parent (void);
-void kid(void);
-
-/* The child process id. */
-pid_t child;
-
-/* The socket to the debugger */
-int debugsock;
-
-/* The pipes between the two processes */
-int mumkid[2];
-int kidmum[2];
-
-/* A pipe for handling SWI return values that goes straight from the */
-/* parent to the ARMulator host interface, bypassing the childs RDP */
-/* to RDI interpreter */
-int DebuggerARMul[2];
-
-/* The maximum number of file descriptors */
-int nfds;
-
-/* The socket handle */
-int sockethandle;
-
-/* The machine name */
-char localhost[MAXHOSTNAMELENGTH + 1];
-
-/* The socket number */
-unsigned int socketnumber;
-
-/**************************************************************/
-/* Takes one argument: the socket number. */
-/* Opens a socket to the debugger, and once opened spawns the */
-/* ARMulator and sets up a couple of pipes. */
-/**************************************************************/
-int main(int argc, char *argv[]) {
- int i;
- struct sockaddr_in devil, isa;
- struct hostent *hp;
-
-
- if (argc == 1) {
- fprintf(stderr, "No socket number\n");
- return 1;
- }
-
- sscanf(argv[1], "%d", &socketnumber);
- if (!socketnumber || socketnumber > 0xffff) {
- fprintf(stderr, "Invalid socket number: %d\n", socketnumber);
- return 1;
- }
-
- gethostname(localhost, MAXHOSTNAMELENGTH);
- hp = gethostbyname(localhost);
- if (!hp) {
- fprintf(stderr, "Cannot get local host info\n");
- return 1;
- }
-
- /* Open a socket */
- sockethandle = socket(hp->h_addrtype, SOCK_STREAM, 0);
- if (sockethandle < 0) {
- perror("socket");
- return 1;
- }
-
- devil.sin_family = hp->h_addrtype;
- devil.sin_port = htons(socketnumber);
- devil.sin_addr.s_addr = 0;
- for(i = 0; i < sizeof(devil.sin_zero); i++) devil.sin_zero[i] = '\000';
- memcpy(&devil.sin_addr, hp->h_addr_list[0], hp->h_length);
-
- if (bind(sockethandle, &devil, sizeof(devil)) < 0) {
- perror("bind");
- return 1;
- }
-
- /* May only accept one debugger at once */
-
- if (listen(sockethandle, 0)) {
- perror("listen");
- return 1;
- }
-
- fprintf(stderr, "Waiting for connection from debugger...");
-
- debugsock = accept(sockethandle, &isa, &i);
- if (debugsock < 0) {
- perror("accept");
- return 1;
- }
-
- fprintf(stderr, " done.\nConnection Established.\n");
-
- nfds = getdtablesize();
-
- if (pipe(mumkid)) {
- perror("pipe");
- return 1;
- }
- if (pipe(kidmum)) {
- perror("pipe");
- return 1;
- }
-
- if (pipe(DebuggerARMul)) {
- perror("pipe");
- return 1;
- }
-
-#ifdef DEBUG
- fprintf(stderr, "Created pipes ok\n");
-#endif
-
- child = fork();
-
-#ifdef DEBUG
- fprintf(stderr, "fork() ok\n");
-#endif
-
- if (child == 0) kid ();
- if (child != -1) parent ();
-
- perror("fork");
- return 1;
-}
-
-
-
-
diff --git a/sim/arm/parent.c b/sim/arm/parent.c
deleted file mode 100644
index 9eeb904..0000000
--- a/sim/arm/parent.c
+++ /dev/null
@@ -1,483 +0,0 @@
-/* parent.c -- ARMulator RDP comms code: ARM6 Instruction Emulator.
- Copyright (C) 1994 Advanced RISC Machines Ltd.
-
- This program 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 of the License, or
- (at your option) any later version.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*****************************************************************/
-/* The Parent process continues here... */
-/* It waits on the socket and passes on RDP messages down a pipe */
-/* to the ARMulator RDP to RDI interpreter. */
-/*****************************************************************/
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <signal.h>
-#include "time.h"
-#include "armdefs.h"
-#include "dbg_rdi.h"
-#include "communicate.h"
-
-/* The socket to the debugger */
-extern int debugsock;
-
-/* The pipes between the two processes */
-extern int mumkid[2];
-extern int kidmum[2];
-
-/* A pipe for handling SWI return values that goes straight from the */
-/* parent to the ARMulator host interface, bypassing the child's RDP */
-/* to RDI interpreter */
-extern int DebuggerARMul[2];
-
-/* The maximum number of file descriptors */
-extern int nfds;
-
-/* The child process id. */
-extern pid_t child;
-
-void
-parent ()
-{
- int i, j, k;
- unsigned char message, CPnum, exreturn;
- ARMword mask, nbytes, messagetype;
- unsigned char c, d;
- ARMword x, y;
- int virgin = 1;
- struct fd_set readfds;
-
-#ifdef DEBUG
- fprintf (stderr, "parent ()...\n");
-#endif
-
- panic_error:
-
- if (!virgin)
- {
-#ifdef DEBUG
- fprintf(stderr, "Arghh! What is going on?\n");
-#endif
- kill (child, SIGHUP);
- MYwrite_char(debugsock, RDP_Reset);
- }
-
- virgin = 0;
-
- while (1)
- {
-
- /* Wait either for the ARMulator or the debugger */
-
- FD_ZERO (&readfds);
- FD_SET (kidmum[0], &readfds); /* Wait for messages from ARMulator */
- FD_SET (debugsock, &readfds); /* Wait for messages from debugger */
-
-#ifdef DEBUG
- fprintf (stderr, "Waiting for ARMulator or debugger... ");
-#endif
-
- while ((i = select (nfds, &readfds, (fd_set *) 0, (fd_set *) 0, 0)) < 0)
- {
- perror ("select");
- }
-
-#ifdef DEBUG
- fprintf(stderr, "(%d/2)", i);
-#endif
-
- if (FD_ISSET (debugsock, &readfds)) {
-#ifdef DEBUG
- fprintf (stderr, "->debugger\n");
-#endif
-
- /* Inside this rather large if statement with simply pass on a complete
- message to the ARMulator. The reason we need to pass messages on one
- at a time is that we have to know whether the message is an OSOpReply
- or an info(stop), so that we can take different action in those
- cases. */
-
- if (MYread_char (debugsock, &message))
- goto panic_error;
-
- switch (message)
- {
- case RDP_Start:
- /* Open and/or Initialise */
-#ifdef DEBUG
- fprintf (stderr, "RDP Open\n");
-#endif
- if (MYread_char(debugsock, &c)) /* type */
- goto panic_error;
-
- if (MYread_word(debugsock, &x)) /* memory size */
- goto panic_error;
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], c);
- MYwrite_word (mumkid[1], x);
- if (c & 0x2)
- {
- passon (debugsock, mumkid[1], 1); /* speed */
- }
- break;
-
- case RDP_End:
- /* Close and Finalise */
-#ifdef DEBUG
- fprintf(stderr, "RDP Close\n");
-#endif
- MYwrite_char (mumkid[1], message);
- break;
-
- case RDP_Read:
- /* Read Memory Address */
-#ifdef DEBUG
- fprintf (stderr, "RDP Read Memory\n");
-#endif
- MYwrite_char (mumkid[1], message);
- if (passon (debugsock, mumkid[1], 4))
- goto panic_error; /* address */
- if (MYread_word(debugsock, &nbytes))
- goto panic_error; /* nbytes */
- MYwrite_word (mumkid[1], nbytes);
- break;
-
- case RDP_Write :
- /* Write Memory Address */
-#ifdef DEBUG
- fprintf (stderr, "RDP Write Memory\n");
-#endif
- if (MYread_word (debugsock, &x))
- goto panic_error; /* address */
-
- if (MYread_word (debugsock, &y))
- goto panic_error; /* nbytes */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], x);
- MYwrite_word (mumkid[1], y);
- passon (debugsock, mumkid[1], y); /* actual data */
- break;
-
- case RDP_CPUread:
- /* Read CPU State */
-#ifdef DEBUG
- fprintf (stderr, "RDP Read CPU\n");
-#endif
- if (MYread_char(debugsock, &c))
- goto panic_error; /* mode */
-
- if (MYread_word (debugsock, &mask))
- goto panic_error; /* mask */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], c);
- MYwrite_word (mumkid[1], mask);
- break;
-
- case RDP_CPUwrite :
- /* Write CPU State */
-#ifdef DEBUG
- fprintf (stderr, "RDP Write CPU\n");
-#endif
- if (MYread_char (debugsock, &c))
- goto panic_error; /* mode */
-
- if (MYread_word (debugsock, &x))
- goto panic_error; /* mask */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], c);
- MYwrite_word (mumkid[1], x);
- for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
- if ((k & x)
- && passon(debugsock, mumkid[1], 4))
- goto panic_error;
- break;
-
- case RDP_CPread:
- /* Read Co-Processor State */
-#ifdef DEBUG
- fprintf (stderr, "RDP Read CP state\n");
-#endif
- if (MYread_char (debugsock, &CPnum))
- goto panic_error;
-
- if (MYread_word (debugsock, &mask))
- goto panic_error;
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], CPnum);
- MYwrite_word (mumkid[1], mask);
- break;
-
- case RDP_CPwrite:
- /* Write Co-Processor State */
-#ifdef DEBUG
- fprintf(stderr, "RDP Write CP state\n");
-#endif
- if (MYread_char (debugsock, &CPnum))
- goto panic_error;
-
- if (MYread_word (debugsock, &mask))
- goto panic_error;
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], c);
- MYwrite_char (mumkid[1], x);
- for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
- if (k & x)
- {
- if ((c == 1 || c == 2) && k <= 128)
- {
- /* FP register = 12 bytes + 4 bytes format */
- if (passon(debugsock, mumkid[1], 16))
- goto panic_error;
- }
- else
- {
- /* Normal register = 4 bytes */
- if (passon(debugsock, mumkid[1], 4))
- goto panic_error;
- }
- }
- break;
-
- case RDP_SetBreak:
- /* Set Breakpoint */
-#ifdef DEBUG
- fprintf (stderr, "RDP Set Breakpoint\n");
-#endif
- if (MYread_word (debugsock, &x))
- goto panic_error; /* address */
-
- if (MYread_char (debugsock, &c))
- goto panic_error; /* type */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], x);
- MYwrite_char (mumkid[1], c);
- if (((c & 0xf) >= 5)
- && passon(debugsock, mumkid[1], 4))
- goto panic_error; /* bound */
- break;
-
- case RDP_ClearBreak:
- /* Clear Breakpoint */
-#ifdef DEBUG
- fprintf (stderr, "RDP Clear Breakpoint\n");
-#endif
- MYwrite_char (mumkid[1], message);
- if (passon (debugsock, mumkid[1], 4))
- goto panic_error; /* point */
- break;
-
- case RDP_SetWatch:
- /* Set Watchpoint */
-#ifdef DEBUG
- fprintf (stderr, "RDP Set Watchpoint\n");
-#endif
- if (MYread_word (debugsock, &x))
- goto panic_error; /* address */
-
- if (MYread_char(debugsock, &c))
- goto panic_error; /* type */
-
- if (MYread_char (debugsock, &d))
- goto panic_error; /* datatype */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], x);
- MYwrite_char (mumkid[1], c);
- MYwrite_char (mumkid[1], d);
- if (((c & 0xf) >= 5)
- && passon(debugsock, mumkid[1], 4))
- goto panic_error; /* bound */
- break;
-
- case RDP_ClearWatch:
- /* Clear Watchpoint */
-#ifdef DEBUG
- fprintf (stderr, "RDP Clear Watchpoint\n");
-#endif
- MYwrite_char (mumkid[1], message);
- if (passon (debugsock, mumkid[1], 4))
- goto panic_error; /* point */
- break;
-
- case RDP_Execute:
- /* Excecute */
-#ifdef DEBUG
- fprintf (stderr, "RDP Execute\n");
-#endif
-
- /* LEAVE THIS ONE 'TIL LATER... */
- /* NEED TO WORK THINGS OUT */
-
- /* NO ASCYNCHROUS RUNNING */
-
- if (MYread_char(debugsock, &c))
- goto panic_error; /* return */
-
- /* Remember incase bit 7 is set and we have to send back a word */
- exreturn = c;
-
- MYwrite_char(mumkid[1], message);
- MYwrite_char(mumkid[1], c);
- break;
-
- case RDP_Step:
- /* Step */
-#ifdef DEBUG
- fprintf (stderr, "RDP Step\n");
-#endif
-
- if (MYread_char(debugsock, &c))
- goto panic_error; /* return */
-
- if (MYread_word(debugsock, &x))
- goto panic_error; /* ninstr */
-
- MYwrite_char (mumkid[1], message);
- MYwrite_char (mumkid[1], c);
- MYwrite_word (mumkid[1], x);
- break;
-
- case RDP_Info:
- /* Info */
-#ifdef DEBUG
- fprintf (stderr, "RDP Info\n");
-#endif
- /* INFO TARGET, SET RDI LEVEL */
- if (MYread_word (debugsock, &messagetype))
- goto panic_error; /* info */
-
- switch (messagetype)
- {
- case RDIInfo_Target:
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- break;
-
- case RDISet_RDILevel:
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- if (passon (debugsock, mumkid[1], 1))
- goto panic_error; /* argument */
- break;
-
- case RDISet_Cmdline:
- /* Got to pass on a string argument */
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- do
- {
- if (MYread_char (debugsock, &c))
- goto panic_error;
-
- MYwrite_char (mumkid[1], c);
- } while (c);
- break;
-
- case RDISignal_Stop:
- kill (child, SIGUSR1);
- MYwrite_char (debugsock, RDP_Return);
- MYwrite_char (debugsock, RDIError_UserInterrupt);
- break;
-
- case RDIVector_Catch:
- MYread_word (debugsock, &x);
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- MYwrite_word (mumkid[1], x);
- break;
-
- case RDIInfo_Step:
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- break;
-
- case RDIInfo_Points:
- MYwrite_char (mumkid[1], message);
- MYwrite_word (mumkid[1], messagetype);
- break;
-
- default:
- fprintf (stderr, "Unrecognized RDIInfo request %d\n",
- messagetype);
- goto panic_error;
- }
- break;
-
- case RDP_OSOpReply:
- /* OS Operation Reply */
-#ifdef DEBUG
- fprintf (stderr, "RDP OS Reply\n");
-#endif
- MYwrite_char (mumkid[1], message);
- if (MYread_char (debugsock, &message))
- goto panic_error;
- MYwrite_char (mumkid[1], message);
- switch(message)
- {
- case 0: /* return value i.e. nothing else.*/
- break;
-
- case 1: /* returns a byte... */
- if (MYread_char(debugsock, &c))
- goto panic_error;
-
- MYwrite_char (mumkid[1], c);
- break;
-
- case 2: /* returns a word... */
- if (MYread_word(debugsock, &x))
- goto panic_error;
-
- MYwrite_word (mumkid[1], x);
- break;
- }
- break;
-
- case RDP_Reset:
- /* Reset */
-#ifdef DEBUG
- fprintf (stderr, "RDP Reset\n");
-#endif
- MYwrite_char (mumkid[1], message);
- break;
-
- default:
- /* Hmm.. bad RDP operation */
- fprintf (stderr, "RDP Bad RDP request (%d)\n", message);
- MYwrite_char (debugsock, RDP_Return);
- MYwrite_char (debugsock, RDIError_UnimplementedMessage);
- break;
- }
- }
-
- if (FD_ISSET (kidmum[0], &readfds))
- {
-#ifdef DEBUG
- fprintf (stderr, "->ARMulator\n");
-#endif
- /* Anything we get from the ARMulator has to go to the debugger... */
- /* It is that simple! */
-
- passon (kidmum[0], debugsock, 1);
- }
- }
-}
-
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
deleted file mode 100644
index 2a297c2..0000000
--- a/sim/arm/wrapper.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/* run front end support for arm
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
-This file is part of ARM SIM.
-
-GNU CC 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.
-
-GNU CC 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 this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This file provides the interface between the simulator and run.c and gdb
- (when the simulator is linked with gdb).
- All simulator interaction should go through this file. */
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <bfd.h>
-#include <signal.h>
-#include "callback.h"
-#include "remote-sim.h"
-#include "armdefs.h"
-#include "armemu.h"
-#include "dbg_rdi.h"
-
-host_callback *sim_callback;
-
-static struct ARMul_State *state;
-
-/* Who is using the simulator. */
-static SIM_OPEN_KIND sim_kind;
-
-/* argv[0] */
-static char *myname;
-
-/* Memory size in bytes. */
-static int mem_size = (1 << 21);
-
-/* Non-zero to display start up banner, and maybe other things. */
-static int verbosity;
-
-static void
-init ()
-{
- static int done;
-
- if (!done)
- {
- ARMul_EmulateInit();
- state = ARMul_NewState ();
- ARMul_MemoryInit(state, mem_size);
- ARMul_OSInit(state);
- ARMul_CoProInit(state);
- state->verbose = verbosity;
- done = 1;
- }
-}
-
-/* Set verbosity level of simulator.
- This is not intended to produce detailed tracing or debugging information.
- Just summaries. */
-/* FIXME: common/run.c doesn't do this yet. */
-
-void
-sim_set_verbose (v)
- int v;
-{
- verbosity = v;
-}
-
-/* Set the memory size to SIZE bytes.
- Must be called before initializing simulator. */
-/* FIXME: Rename to sim_set_mem_size. */
-
-void
-sim_size (size)
- int size;
-{
- mem_size = size;
-}
-
-void
-ARMul_ConsolePrint (ARMul_State * state, const char *format,...)
-{
- va_list ap;
-
- if (state->verbose)
- {
- va_start (ap, format);
- vprintf (format, ap);
- va_end (ap);
- }
-}
-
-ARMword
-ARMul_Debug (ARMul_State * state, ARMword pc, ARMword instr)
-{
-
-}
-
-int
-sim_write (sd, addr, buffer, size)
- SIM_DESC sd;
- SIM_ADDR addr;
- unsigned char *buffer;
- int size;
-{
- int i;
- init ();
- for (i = 0; i < size; i++)
- {
- ARMul_WriteByte (state, addr+i, buffer[i]);
- }
- return size;
-}
-
-int
-sim_read (sd, addr, buffer, size)
- SIM_DESC sd;
- SIM_ADDR addr;
- unsigned char *buffer;
- int size;
-{
- int i;
- init ();
- for (i = 0; i < size; i++)
- {
- buffer[i] = ARMul_ReadByte (state, addr + i);
- }
- return size;
-}
-
-int
-sim_trace (sd)
- SIM_DESC sd;
-{
- (*sim_callback->printf_filtered) (sim_callback, "This simulator does not support tracing\n");
- return 1;
-}
-
-int
-sim_stop (sd)
- SIM_DESC sd;
-{
- return 0;
-}
-
-void
-sim_resume (sd, step, siggnal)
- SIM_DESC sd;
- int step, siggnal;
-{
- state->EndCondition = 0;
-
- if (step)
- {
- state->Reg[15] = ARMul_DoInstr (state);
- if (state->EndCondition == 0)
- state->EndCondition = RDIError_BreakpointReached;
- }
- else
- {
- state->Reg[15] = ARMul_DoProg (state);
- }
-
- FLUSHPIPE;
-}
-
-SIM_RC
-sim_create_inferior (sd, abfd, argv, env)
- SIM_DESC sd;
- struct _bfd *abfd;
- char **argv;
- char **env;
-{
- int argvlen=0;
- char **arg;
-
-#if 1 /* JGS */
- /* We explicitly select a processor capable of supporting the ARM
- 32bit mode, and then we force the simulated CPU into the 32bit
- User mode: */
- ARMul_SelectProcessor(state, ARM600);
- ARMul_SetCPSR(state, USER32MODE);
-#endif
-
- if (argv != NULL)
- {
- /*
- ** Set up the command line (by laboriously stringing together the
- ** environment carefully picked apart by our caller...)
- */
- /* Free any old stuff */
- if (state->CommandLine != NULL)
- {
- free(state->CommandLine);
- state->CommandLine = NULL;
- }
-
- /* See how much we need */
- for (arg = argv; *arg != NULL; arg++)
- argvlen += strlen(*arg)+1;
-
- /* allocate it... */
- state->CommandLine = malloc(argvlen+1);
- if (state->CommandLine != NULL)
- {
- arg = argv;
- state->CommandLine[0]='\0';
- for (arg = argv; *arg != NULL; arg++)
- {
- strcat(state->CommandLine, *arg);
- strcat(state->CommandLine, " ");
- }
- }
- }
-
- if (env != NULL)
- {
- /* Now see if there's a MEMSIZE spec in the environment */
- while (*env)
- {
- if (strncmp(*env, "MEMSIZE=", sizeof("MEMSIZE=")-1)==0)
- {
- unsigned long top_of_memory;
- char *end_of_num;
-
- /* Set up memory limit */
- state->MemSize = strtoul(*env + sizeof("MEMSIZE=")-1, &end_of_num, 0);
- }
- env++;
- }
- }
-
- return SIM_RC_OK;
-}
-
-void
-sim_info (sd, verbose)
- SIM_DESC sd;
- int verbose;
-{
-}
-
-
-static int
-frommem (state, memory)
- struct ARMul_State *state;
- unsigned char *memory;
-{
- if (state->bigendSig == HIGH)
- {
- return (memory[0] << 24)
- | (memory[1] << 16)
- | (memory[2] << 8)
- | (memory[3] << 0);
- }
- else
- {
- return (memory[3] << 24)
- | (memory[2] << 16)
- | (memory[1] << 8)
- | (memory[0] << 0);
- }
-}
-
-
-static void
-tomem (state, memory, val)
- struct ARMul_State *state;
- unsigned char *memory;
- int val;
-{
- if (state->bigendSig == HIGH)
- {
- memory[0] = val >> 24;
- memory[1] = val >> 16;
- memory[2] = val >> 8;
- memory[3] = val >> 0;
- }
- else
- {
- memory[3] = val >> 24;
- memory[2] = val >> 16;
- memory[1] = val >> 8;
- memory[0] = val >> 0;
- }
-}
-
-void
-sim_store_register (sd, rn, memory)
- SIM_DESC sd;
- int rn;
- unsigned char *memory;
-{
- init ();
- ARMul_SetReg(state, state->Mode, rn, frommem (state, memory));
-}
-
-void
-sim_fetch_register (sd, rn, memory)
- SIM_DESC sd;
- int rn;
- unsigned char *memory;
-{
- init ();
- tomem (state, memory, ARMul_GetReg(state, state->Mode, rn));
-}
-
-
-
-
-SIM_DESC
-sim_open (kind, ptr, abfd, argv)
- SIM_OPEN_KIND kind;
- host_callback *ptr;
- struct _bfd *abfd;
- char **argv;
-{
- sim_kind = kind;
- myname = argv[0];
- sim_callback = ptr;
- return (SIM_DESC) 1;
-}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- /* nothing to do */
-}
-
-SIM_RC
-sim_load (sd, prog, abfd, from_tty)
- SIM_DESC sd;
- char *prog;
- bfd *abfd;
- int from_tty;
-{
- extern bfd *sim_load_file (); /* ??? Don't know where this should live. */
- bfd *prog_bfd;
-
- prog_bfd = sim_load_file (sd, myname, sim_callback, prog, abfd,
- sim_kind == SIM_OPEN_DEBUG,
- 0, sim_write);
- if (prog_bfd == NULL)
- return SIM_RC_FAIL;
- if (abfd == NULL)
- bfd_close (prog_bfd);
- return SIM_RC_OK;
-}
-
-void
-sim_stop_reason (sd, reason, sigrc)
- SIM_DESC sd;
- enum sim_stop *reason;
- int *sigrc;
-{
- if (state->EndCondition == 0)
- {
- *reason = sim_exited;
- *sigrc = state->Reg[0] & 255;
- }
- else
- {
- *reason = sim_stopped;
- if (state->EndCondition == RDIError_BreakpointReached)
- *sigrc = SIGTRAP;
- else
- *sigrc = 0;
- }
-}
-
-void
-sim_do_command (sd, cmd)
- SIM_DESC sd;
- char *cmd;
-{
- (*sim_callback->printf_filtered) (sim_callback, "This simulator does not accept any commands.\n");
-}
-
-
-void
-sim_set_callbacks (ptr)
- host_callback *ptr;
-{
- sim_callback = ptr;
-}