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 | 43c4bab0554541b32ec8c32dc58e2022e627dae5 (patch) | |
tree | afabd0c0757b91cf8c5650db95135ef7ebe6e109 /sim/ppc/table.h | |
parent | 3abd2e019d61de733dc82d1a2cab72d843d04b73 (diff) | |
download | gdb-43c4bab0554541b32ec8c32dc58e2022e627dae5.zip gdb-43c4bab0554541b32ec8c32dc58e2022e627dae5.tar.gz gdb-43c4bab0554541b32ec8c32dc58e2022e627dae5.tar.bz2 |
* 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/table.h')
-rw-r--r-- | sim/ppc/table.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sim/ppc/table.h b/sim/ppc/table.h index 509fb22..863c925 100644 --- a/sim/ppc/table.h +++ b/sim/ppc/table.h @@ -42,6 +42,13 @@ struct _table_entry { char *fields[0]; /* User defined */ }; +/* List of directories to search when opening a pushed file. Current + directory is always searched first */ +typedef struct _table_include table_include; +struct _table_include { + char *dir; + table_include *next; +}; extern table *table_open (const char *file_name, @@ -51,6 +58,16 @@ extern table *table_open extern table_entry *table_entry_read (table *file); +/* Push the the state of the current file and open FILE_NAME. When + the end of FILE_NAME is reached, return to the pushed file */ + +extern void table_push +(table *file, + table_include *search, + const char *file_name, + int nr_fields, + int nr_model_fields); + extern void dump_table_entry (table_entry *entry, int indent); |