binutils-gdb/gdb/ChangeLog
John Gilmore d141f3e30d * mipsread.c: Byte-swap the symbol table structures, using
routines from ecoff.c, to read a symbol table written in any
of the four possible byte orders.
1992-02-28 00:37:03 +00:00

615 lines
21 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Thu Feb 27 11:48:47 1992 John Gilmore (gnu at cygnus.com)
* mipsread.c: Byte-swap the symbol table structures, using
routines from ecoff.c, to read a symbol table written in any
of the four possible byte orders.
* configure.in (mips-big-* target): Same as Sony News.
* config/mt-bigmips, config/mt-littlemips: Add ecoff.o.
* ecoff.c: New file for symbol swapping routines.
Thu Feb 27 09:26:38 1992 Stu Grossman (grossman at cygnus.com)
* breakpoint.c (all_breakpoints_info, breakpoint_1): Add 'info
all-breakpoints' command.
* (get_number): Allow users to enter negative breakpoint numbers.
* (breakpoint_1): Reformat display of 'info break' to show new
fields.
* (create_longjmp_breakpoint, breakpoint_re_set,
breakpoint_re_set_one, enable/disable_longjmp_breakpoint),
symfile.c (syms_from_objfile): Re-do
insertion of longjmp breakpoints. Move all code into
breakpoint_re_set, and call that instead of
create_longjmp_breakpoint in symfile.c.
Thu Feb 27 06:11:05 1992 John Gilmore (gnu at cygnus.com)
* breakpoint.h (ALL_BREAKPOINTS_SAFE): Add.
* breakpoint.c (breakpoint_re_set): Use ALL_BREAKPOINTS_SAFE.
* symtab.c (find_pc_symtab): Handle having no objfiles.
* infcmd.c: Fix comment.
* objfiles.c (free_all_objfiles): Add.
* symfile.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Add.
* symfile.c (symbol_file_command): free all objfiles when
specifying a new symbol file.
(reread_symbols): Stat the file name, don't fstat the descriptor.
Tue Feb 25 19:31:19 1992 Stu Grossman (grossman at cygnus.com)
* dbxread.c (end_psymtab): Delete empty psymtabs.
* symfile.c (allocate_psymtab): Recycle empty psymtabs.
* symfile.h (struct objfile): Add free_psymtabs.
Sat Feb 22 02:00:32 1992 John Gilmore (gnu at cygnus.com)
* Makefile.in (VERSION): Roll to gdb-4.4.4.
* symfile.c (symbol_file_command): strcmp => !strcmp.
* breakpoint.h: Move prototypes to follow enum definition they need.
* breakpoint.c, infrun.c: Lint.
* printcmd.c: Use `enum enable' rather than `enum
display_status'.
* mipsread.c: First pass at making it compile with the new
objfile changes. Probably seriously broken still, but it
compiles. FIXME.
Sat Feb 22 00:56:39 1992 Stu Grossman (grossman at cygnus.com)
* infrun.c, infcmd.c, breakpoint.c, main.c, symfile.c,
breakpoint.h, tm-sun4os4.h, tm-sparc.h, sparc-tdep.c, tm-mips.h,
mips-tdep.h, tm-sun3.h, tm-68k.h, m68k-tdep.h: Add support for
stepping (and nexting) through longjmp(). Also, cleanup
breakpoint handling quite a bit by creating explicit breakpoint
types instead of using magic breakpoint numbers.
Makefile.in: Update version to 4.4.3
Sat Feb 22 00:08:50 1992 John Gilmore (gnu at cygnus.com)
* buildsym.c, dwarfread.c, gdbtypes.c, inflow.c, main.c,
minsyms.c, printcmd.c, remote.c, saber.suppress: Saberlint.
* symmisc.c, xcoffread.c: Move debug functions to symmisc.c.
* xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP.
* minsyms.c (install_minimal_symbols): Add bunches to any
existing minsyms in the objfile. Avoid extra mallocation
by working directly in the obstack. Remove ignored `mainline' parm.
* coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h,
xcoffread.c: Change all callers.
* FIXME: We should be able to eliminate MAINLINE from all the
symbol readers now, with a small bit of work.
* valops.c, value.h: Lint.
* remote-vx.c: Add missing break; statement. Bugfix by
Michael Sclafani, <sclafani@src.dec.com>.
Fri Feb 21 17:29:54 1992 John Gilmore (gnu at cygnus.com)
* Check in Fred Fish's changes in these modules. Fred
will make ChangeLog entries for all of them. Update VERSION
to 4.4.2.
* Makefile.in
* altos-xdep.c
* am29k-tdep.c
* arm-xdep.c
* blockframe.c
* breakpoint.c
* breakpoint.h
* buildsym.c
* buildsym.h
* c-exp.y
* coffread.c
* command.c
* command.h
* convex-xdep.c
* copying.c
* coredep.c
* cplus-dem.c
* dbxread.c
* dwarfread.c
* elfread.c
* eval.c
* expprint.c
* findvar.c
* gdbtypes.h
* gmalloc.c
* gmalloc.h
* gould-xdep.c
* hp300ux-xdep.c
* i386-stub.c
* i386-tdep.c
* i386-xdep.c
* i387-tdep.c
* i960-tdep.c
* infcmd.c
* inflow.c
* infptrace.c
* language.c
* m2-exp.y
* m68k-pinsn.c
* m68k-stub.c
* m88k-pinsn.c
* m88k-xdep.c
* mach386-xdep.c
* main.c
* mcheck.c
* mem-break.c
* mips-xdep.c
* mipsread.c
* nindy-tdep.c
* parse.c
* parser-defs.h
* partial-stab.h
* printcmd.c
* procfs.c
* pyr-xdep.c
* remote-mm.c
* remote-nindy.c
* remote-vx.c
* rs6000-xdep.c
* solib.c
* source.c
* stack.c
* symfile.c
* symfile.h
* symm-tdep.c
* symmisc.c
* symtab.c
* symtab.h
* target.c
* target.h
* tm-sunos.h
* utils.c
* valarith.c
* valops.c
* valprint.c
* values.c
* xcoffexec.c
* xcoffread.c
* gdbtypes.c
* minsyms.c
* mmap-alloc.c
* mmap-sbrk.c
* objfiles.c
* state.c
* state.h
Thu Feb 20 18:10:17 1992 Fred Fish (fnf at cygnus.com)
* tm-sparc.h, tm-sysv4.h, solib.h: Move shared lib definitions
into solib.h.
* sparc-pinsn.c, sparc-tdep.c, standalonec, sun3-xdep.c,
sun386-xdep.c, symm-xdep.c, target.c, ultra3-xdep.c, utils.c,
value.h: Prototypes for static functions; lint.
* gdbtypes.h: Empty file to ease transition.
Thu Feb 20 16:43:13 1992 Fred Fish (fnf at cygnus.com)
* environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h,
inferior.h, language.h, signame.h, target.h, terminal.h,
tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h,
xm-i386v.h, xm-sparc.h: Prototypes for all external functions.
Lint.
* core.c, exec.c, infrun.c, inftarg.c, language.c, remote.c,
signame.c, sparc-xdep.c: Prototypes for all static functions.
Lint.
* core.c, eval.c, exec.c, inftarg.c, remote-adapt.c, remote-eb.c,
remote-hms.c, remote-mm.c, remote-nindy.c, remote-vx.c, remote.c,
target.c, target.h, valarith.c, valops.c, value.h, xcoffexec.c:
Remove to_call_function and target_call_function, since it
always calls the same thing (call_function_by_hand).
* core.c, exec.c, solib.c: Rename target_ops sections =>
to_sections, etc.
* infcmd.c, inflow.c, infptrace.c, infrun.c, main.c, target.c,
target.h: target_kill takes no args.
* language.c (language_info): Scaffolding to allow briefer
messages when the current language changes. FIXME.
* xm-amix.h, xm-i386v4.h, xm-stratus.h: Define NORETURN to avoid
complaints about volatile functions.
* xm-sysv4.h (HAVE_MMAP): Define.
Thu Feb 20 09:04:18 1992 Fred Fish (fnf at cygnus.com)
* defs.h: Include ansidecl.h and PARAMS macro. Use PARAMS
to make prototypes for all functions declared here.
* cplus-dem.c: Avoid declaring xmalloc and xrealloc.
* c-exp.y: Rename SIGNED, OR, and AND to avoid conflict.
* environ.c: Include <stdio.h> before defs.h. Minor cleanup.
* ieee-float.h: Use PARAMS for prototypes; make some params const.
* ieee-float.c, valarith.c: Include <stdio.h>. Lint. b*=>mem*.
* m2-exp.y: Remove unused CONST; Rename OR and AND.
* utils.c: Avoid declaring malloc and realloc. Lint.
(request_quit): Accept signal-number parameter.
Mon Feb 17 07:13:27 1992 Fred Fish (fnf at cygnus.com)
* dwarfread.c (process_dies): Add case to handle TAG_pointer_type
DIE's. Add new function read_tag_pointer_type() to read them.
* dwarfread.c (dwarf_read_array_type, read_subroutine_type):
When creating a new user defined type, check to see if a partial
type already exists, and if so, bash it to fit.
Fri Feb 14 19:00:17 1992 John Gilmore (gnu at cygnus.com)
* coffread.c (decode_base_type): Pass long, not union.
Fix by Eric Valette, ev@chorus.fr.
Thu Feb 13 17:14:28 1992 Fred Fish (fnf at cygnus.com)
* elfread.c (elf_symtab_read): Fix code to correctly track
changes in bfd for absolute symbols.
Thu Feb 13 12:43:29 1992 Stu Grossman (grossman at cygnus.com)
* xm-vaxbsd.h: Close off comment.
Thu Feb 13 07:45:19 1992 Fred Fish (fnf at cygnus.com)
* xm-sysv4.h: Define NEED_POSIX_SETPGID.
Fri Feb 7 11:51:12 1992 Per Bothner (bothner at cygnus.com)
* mips-tdep.c (mips_print_registers): Print correct register
number for double pseudo-registers.
Fri Feb 7 07:56:05 1992 John Gilmore (gnu at cygnus.com)
* buildsym.c (read_struct_type): Avoid double-bump of parse ptr
in the op$::OPERATOR. case. From Steven McCanne,
<mccanne@horse.ee.lbl.gov>.
* exec.c (set_section_name): Pass arg to exec_files_info;
only call it if interactive. From Francis Kauth <fk@tv.tv.tek.com>.
Thu Feb 6 17:41:32 1992 John Gilmore (gnu at cygnus.com)
* main.c (print_gdb_version): Copyright msg: only this year.
(cd_command): Avoid changing current_directory on error.
Thu Feb 6 15:14:01 1992 Per Bothner (bothner at cygnus.com)
* mipsread.c (parse_partial_symbols): Handle dependencies
between partial symbol tables (when not doing stabs-in-ecoff).
(This used to be handled by parse_fdr, but parse_fdr was
incompatible with handling stabs-in-ecoff, so the code
was re-written to not use parse_fdr. Unfortunately,
the logic to handle dependencies was overlooked.)
Thu Feb 6 11:51:39 1992 Steve Chamberlain (sac at rtl.cygnus.com)
* coffread.c (read_enum_type): Use the size of a target int when
describing enum.
* defs.h: added new #define for TARGET_PTR_BIT, defaults to size
of target int.
* h8300-tdep.c, remote-hms.c, tm-h8300.h: too many changes to count
* symtab.c (lookup_reference_type, lookup_ptr_type): use
TARGET_PTR_BIT to determine size of a pointer
* values.c (unpack_long): when unpacking a REF or a PTR don't
assume the size of the type.
Wed Feb 5 22:29:59 1992 John Gilmore (gnu at cygnus.com)
* mipsread.c (parse_symbol): Avoid clobbering enum pointer when
looking at its members. Improve guess between struct and union,
only assuming union if multiple members have offsets of zero.
Tue Feb 4 18:05:44 1992 Per Bothner (bothner at cygnus.com)
* mipsread.c: Use (FP0_REGNUM-32) instead of magic number 6.
(This is just for clarity - and one day permitting us to
change FP0_REGNUM from 38 to 32, which would make more sense.)
* tm-mips.h: Added STAB_REG_TO_REGNUM macro, so that
register numbers in stabs-in-ecoff get handled correctly.
Sat Feb 1 04:45:10 1992 Stu Grossman (grossman at cygnus.com)
* xm-vax.h, xm-vaxult.h, xm-vaxbsd.h, config/mh-vaxult,
config/mh-vaxbsd, configure.in: Split up config stuff for Vaxen
into BSD and Ultrix.
Sat Feb 1 04:39:41 1992 John Gilmore (gnu at cygnus.com)
* dbxread.c (dbx_symfile_init): Call malloc, not xmalloc.
Sat Feb 1 04:15:41 1992 Stu Grossman (grossman at cygnus.com)
* Makefile.in: Increment version to 4.4.1.
* main.c (print_gdb_version): Update copyright notice.
Sat Feb 1 01:43:11 1992 Per Bothner (bothner at cygnus.com)
* mipsread.c: Prepend "struct " to the names of structure
types, and similarly for enums and unions. (This used
to be done, but got lost in the re-write to "guess" the
difference between enum/struct/union.)
Also, guess that a tag is an enum if the first member
has type btNil.
Fri Jan 31 21:45:51 1992 Stu Grossman (grossman at cygnus.com)
* xm-vax.h: #ifndef ultrix around #include of endian.h and
limits.h (sigh).
Fri Jan 31 00:05:01 1992 John Gilmore (gnu at cygnus.com)
* Projects: Patching executables is done.
* Makefile.in (VERSION): Roll to gdb-4.4.
* README, WHATS.NEW: Update for gdb-4.4.
* symfile.c (reread_symbols): Whenever we reread one object
file's symbols, we must restart the scan, because the object_files
chain has been permuted.
* exec.c (exec_files_info): Split out into print_section_info.
Print BFD filename of each section if it's not the default one.
* core.c (core_files_info): Call print_section_info.
* xm-vax.h: Include a few system header files whose definitions
must precede defs.h.
* language.c, language.h: Make some things const.
* expression.h, main.c: const spreads like ooze.
* mem-break.c (break_insn, break_insn_size): Use unsigned chars,
since BREAKPOINT values can be >0x80.
Thu Jan 30 17:21:14 1992 Stu Grossman (grossman at cygnus.com)
* infrun.c, xm-i386sco.h: SCO needs to use setpgid().
Thu Jan 30 01:04:23 1992 John Gilmore (gnu at cygnus.com)
* sparc-pinsn.c: Remove kludge for preferring architectures.
Remove #ifdef's for SORT_NEEDED. We need to sort the table, now
and forever. Add `add' instruction to the set that get checked
for a preceding `sethi' in order to print an absolute address.
Corresponding changes in ../include/opcode/sparc.h needed
to eliminate garbage instructions.
Wed Jan 29 19:24:34 1992 Per Bothner (bothner at cygnus.com)
* mipsread.c (parse_partial_symbols): Make sure partial
symbols are created for external symbols (as used to be
the case). This is a bit of a pain with the mips-coff.
It uses a table which points to all of the external
symbols belonging to a particular FDR or psymtab.
Once we've generated this table, we might as well save
it, and then use it in psymtab_to_symtab_1 to find
the symbols to pass to parse_external().
* symfile.c, symfile.c: New function start_psymtab_common
to share the common parts of allocating a new psymtab
for dbxread, mipsread (and later dwarfread). Its code
was pulled out from start_psymtab in dbxread.c.
* dbxread.c (start_psymtab): Use start_psymtab_common().
* valprint.c (val_print): If there is an error when trying
to print a string, check to see if there really is a problem
by reading just one character. If that works, assume
things are ok.
Wed Jan 29 18:58:43 1992 Stu Grossman (grossman at cygnus.com)
* sparc-pinsn.c (compare_opcodes): Make it prefer v6, v7,
cypress, v8 mnemonics in that order.
Tue Jan 28 17:32:13 1992 Per Bothner (bothner at cygnus.com)
* sparc-pinsn.c: Put the qsort() back in.
Mon Jan 27 18:51:03 1992 John Gilmore (gnu at cygnus.com)
* findvar.c (read_register, write_register): Handle machines
where REGISTER_TYPE is not the same size as "int".
Handle debug symbols in dynamically loaded (relocated) code:
* dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass
offset to process_one_symbol.
(process_one_symbol): Take new offset parameter. Add it into
appropriate symbol types to relocate symbols to loaded addresses.
Handle all possible symbol types, and complain() about types that
we don't expect to see.
* mipsread.c (psymtab_to_symtab_1): Pass offset of zero to
process_one_symbol (FIXME, should pass real offset).
Misc bugfixes:
* breakpoint.c (resolve_sal_pc): Split out code to resolve a
sal's PC value.
(set_breakpoint, break_command_1, until_break_command,
catch_command_1, breakpoint_re_set_one): Use it.
* symtab.h (resolve_sal_pc): Declare.
* infcmd.c (jump_command): Use resolve_sal_pc.
* source.c (list_command): Shorten "FILE, line N" to "FILE:N".
* putenv.c (putenv): Avoid unportably casting pointers to unsigneds.
* c-exp.y (yylex): `this' and `template' are only tokens in C++.
* xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h,
xm-np1.h, xm-pn.h, xm-pyr.h, xm-rtbsd.h, xm-symmetry.h, xm-umax.h:
Remove MISSING_VPRINTF declaration, and superfluous "kgdb" defines.
Mon Jan 27 15:46:21 1992 Stu Grossman (grossman at cygnus.com)
* dbxread.c (process_one_symbol): Make a first cut at handling
symbol tables generated by Sun's acc. (#ifdef'd out, FIXME.)
* symtab.c (find_pc_line): Fix stepping into and out of #included
files.
Mon Jan 27 13:00:55 1992 Stu Grossman (grossman at cygnus.com)
* Makefile.in (OPCODES): Remove OPCODES defs and refs. There is
no longer any need to copy ../include/opcode/* into gdb.
Mon Jan 27 12:30:38 1992 John Gilmore (gnu at cygnus.com)
* ChangeLog, ChangeLog-9091: Split ChangeLog at 1992.
Sun Jan 26 19:05:40 1992 Per Bothner (bothner at cygnus.com)
* valprint.c (type_print_base, type_print_method_args):
Print C++ constructor methods without bogus "return type."
Sat Jan 25 15:57:59 1992 Fred Fish (fnf at cygnus.com)
* infptrace.c (child_xfer_memory): Parameter "target" should
be a pointer to a structure, not the entire structure.
Fri Jan 24 01:30:27 1992 Fred Fish (fnf at cygnus.com)
* depend: Convert the couple of references to ansidecl.h that
used the local gdb version to use the ../include version.
Thu Jan 23 22:24:43 1992 Fred Fish (fnf at cygnus.com)
* procfs.c
(child_xfer_memory): Takes pointer to a struct, not entire struct.
(inferior_proc_init): Fix non-ANSI version of args.
(attach): Call print_sys_errmsg with correct number of args.
(mappingflags): Make static, does not need to be global.
* i386-tdep.c (i386_frame_num_args): Takes a pointer to a struct
not the entire struct itself.
* valops.c (value_assign): Cast some args to modify_field() and
{read,write}_register_bytes() correctly.
* ansidecl.h: Removed, is duplicate of ../include/ansidecl.h
* Makefile.in (MALLOCSRC): Removed reference to removed local
copy of ansidecl.h.
* dwarfread.c (list_in_scope): Needs an initial value, use file
scope.
Mon Jan 20 19:06:28 1992 Stu Grossman (grossman at cygnus.com)
* main.c (main): Make option_index local to keep new getopt happy.
main.c, solib.c, Makefile.in: Update copyright notices.
Mon Jan 20 08:54:00 1992 Michael Tiemann (tiemann at cygnus.com)
* cplus-dem.c (cplus_demangle): Correctly demangle destructors.
Sat Jan 18 17:17:45 1992 Stu Grossman (grossman at cygnus.com)
* Makefile.in (HFILES): Add partial-stab.h.
Sat Jan 18 16:45:01 1992 Fred Fish (fnf at cygnus.com)
* config/mh-stratus, config/mt-stratus, tm-stratus.h, xm-stratus.h:
New files for stratus. Not complete enough to actually build
on the Stratus machine; that awaits copyright assignment for
i860 changes.
* Makefile.in (USER_CFLAGS): Add macro specifically reserved
for getting custom flags into CFLAGS when doing makes.
* configure.in: Add config information for stratus.
Thu Jan 16 00:51:46 1992 Fred Fish (fnf at cygnus.com)
* dbxread.c (process_one_symbol): Pass address of structure
to complain(), rather than the whole structure.
Wed Jan 15 09:56:16 1992 Fred Fish (fnf at cygnus.com)
* solib.c (solib_add_common_symbols): Only compile in when not
using SVR4 style shared libraries.
Tue Jan 14 22:34:00 1992 Fred Fish (fnf at cygnus.com)
* dwarfread.c (locval): Add offreg flag to indicate location
values that are computed off a base register.
* dwarfread.c (new_symbol): Rework TAG_global_variable and
TAG_local_variable cases to account for static variables
within function scopes.
Tue Jan 14 12:28:52 1992 Stu Grossman (grossman at cygnus.com)
* inflow.c: remove #include <sys/dir.h>. Not necessary, and
doesn't exist on some systems.
* infrun.c (wait_for_inferior!!!!): Prevent gdb from hanging when
nexting over recursive function calls.
* target.c (target_read_string): Create this routine to read null
terminated strings from the target. It deals with running off the
end of memory elegantly as well. solib.c (find_solib): Use
target_read_string() to avoid problems with running off the end of
memory.
* inflow.c (child_terminal_info): #ifdef TIOCPGRP around lines
that reference pgrp_inferior.
Mon Jan 13 14:57:11 1992 Per Bothner (bothner at cygnus.com)
* tm-mips.h: Removed BLOCK_ADDRESS_ABSOLUTE, now that
mips-tfile has been hacked to act more "traditionally."
* dbxread.c: Fixed typo in comment.
Sun Jan 12 13:08:36 1992 Per Bothner (bothner at cygnus.com)
* mips-tdep.c (mips_skip_prologue): Add some number of
'sw' instructions before 'addiu' adjusts the stack.
Fri Jan 10 13:47:06 1992 Fred Fish (fnf at cygnus.com)
* dwarfread.c (start_symtab, end_symtab, scopecount, openscope,
freescope, buildblock closescope, record_line, add_symbol_to_list,
gatherblocks, make_blockvector): Extensive changes to switch
to generic symbol table building code in buildsym.c. Remove
scope tree structures and functions, symbol table building
functions, and lots of other small changes.
* dwarfread.c: Add new macros GCC_PRODUCER and STREQN. Remove
GCC_COMPILED_FLAG_SYMBOL and GCC2_COMPILED_FLAG_SYMBOL.
Tue Jan 7 13:09:57 1992 Stu Grossman (grossman at cygnus.com)
* buildsym.c (cleanup_undefined_types): Add support for enums.
This fixes the 'GDB internal error. cleanup_undefined_types with
bad type' problem.
Sun Jan 5 09:47:50 1992 Stu Grossman (grossman at cygnus.com)
* dbxread.c: detect gcc2 compilations.
Thu Jan 2 15:07:41 1992 John Gilmore (gnu at cygnus.com)
* sparc-pinsn.c: Rename bitfields that overlap with macro names
in ../include/opcode/sparc.h.
Wed Jan 1 04:29:00 1992 Fred Fish (fnf at cygnus.com)
* Makefile.in: Change tm-svr4.h to tm-sysv4.h. Change xm-svr4.h
to xm-sysv4.h. Split OPCODE_DIR into OPCODE_DIR1 and OPCODE_DIR2
to reflect actual locations of opcode files, so TAGS target will
be buildable.
* i386-tdep.c: Change an erroneous 'm68k' reference to 'i386'.
* i386-tdep.c (supply_fpregset, fill_fpregset): Remove m68k
code.
* m68k-tdep.c (supply_fpregset, fill_fpregset): Fix array
dereferencing to access the correct elements.
* valops.c (value_addr): Declare return type of external func
value_copy().
* xcoffread.c: Undefine next_symbol_text before redefining it.
For older changes see ChangeLog-9091
Local Variables:
mode: indented-text
left-margin: 8
fill-column: 74
version-control: never
End: