diff options
author | Matthew Green <mrg@redhat.com> | 2002-01-12 10:21:12 +0000 |
---|---|---|
committer | Matthew Green <mrg@redhat.com> | 2002-01-12 10:21:12 +0000 |
commit | 3d5d04b63d84dd42ee138a400d6144c8d14afe2a (patch) | |
tree | f6e4a3b320d1bb04ae51315c636790d7428afa17 /sim/ppc/ld-insn.h | |
parent | 6874a0cd6cbf32e295573f4d515dc80a68d9bccd (diff) | |
download | gdb-3d5d04b63d84dd42ee138a400d6144c8d14afe2a.tar.gz |
* Makefile.in (tmp-igen): Pass -I $(srcdir) to igen.
* igen.c (main): Change -I to add include paths for :include:
files.
Implement -G as per sim/igen, with just gen-icache=N support.
Call load_insn_table() with the built include path.
* ld-insn.c (parse_include_entry): New. Load an :include: file.
(load_insn_table): New `includes' argument. Look for :include:
entries and call parse_include_entry() for them.
(main): Adjust load_insn_table() call.
* ld-insn.h (model_include_fields): New enum.
(load_insn_table): Update prototype.
* table.c (struct _open_table, struct _table): Rework
structures to handle included files.
(table_push): Move the guts of table_open() here.
* table.c (struct _open table, struct table): Make table object an
indirect ptr to the current table file.
(current_line, new_table_entry, next_line): Make file arg type
open_table.
(table_open): Use table_push.
(table_entry_read): Point variable file at current table, at eof, pop
last open table.
* misc.h (NZALLOC): New macro. From sim/igen.
* table.h, table.c (table_push): New function.
Diffstat (limited to 'sim/ppc/ld-insn.h')
-rw-r--r-- | sim/ppc/ld-insn.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sim/ppc/ld-insn.h b/sim/ppc/ld-insn.h index e800f0dac23..06bf838b70e 100644 --- a/sim/ppc/ld-insn.h +++ b/sim/ppc/ld-insn.h @@ -134,6 +134,11 @@ typedef enum { model_default = insn_comment, } model_table_fields; +typedef enum { + include_flags = insn_flags, + include_path = insn_name, +} model_include_fields; + typedef struct _insn insn; struct _insn { table_entry *file_entry; @@ -183,7 +188,8 @@ typedef enum { extern insn_table *load_insn_table (const char *file_name, decode_table *decode_rules, - filter *filters); + filter *filters, + table_include *includes); model *models; model *last_model; |