> X-Virus-Scanned: by XS4ALL Virus Scanner
> X-Originating-IP: 87.142.3.46
> Date: Tue, 30 May 2017 12:58:21 +0200
> From: Martin Pieuchot <m...@openbsd.org>
> 
> We are only supporting ELF so this abstraction type is no longer needed.
> 
> I'll make my life easier with CTF if I don't have to cast types when
> looking for type information.
> 
> Ok to kill this abstraction?

ok kettenis@

> Index: arch/amd64/amd64/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/amd64/amd64/db_trace.c,v
> retrieving revision 1.30
> diff -u -p -r1.30 db_trace.c
> --- arch/amd64/amd64/db_trace.c       29 May 2017 06:14:10 -0000      1.30
> +++ arch/amd64/amd64/db_trace.c       30 May 2017 10:26:12 -0000
> @@ -79,7 +79,7 @@ struct db_variable * db_eregs = db_regs 
>  #define      INTERRUPT       3
>  #define      AST             4
>  
> -int db_numargs(struct callframe *, db_sym_t);
> +int db_numargs(struct callframe *, Elf_Sym *);
>  void db_nextframe(struct callframe **, db_addr_t *, long *, int,
>      int (*) (const char *, ...));
>  
> @@ -92,7 +92,7 @@ void db_nextframe(struct callframe **, d
>   * reliably determine the values currently, just return 0.
>   */
>  int
> -db_numargs(struct callframe *fp, db_sym_t sym)
> +db_numargs(struct callframe *fp, Elf_Sym *sym)
>  {
>  #ifdef DDBCTF
>       int args;
> @@ -231,7 +231,7 @@ db_stack_trace_print(db_expr_t addr, boo
>               unsigned int    i;
>               char *          name;
>               db_expr_t       offset;
> -             db_sym_t        sym;
> +             Elf_Sym *       sym;
>  
>               sym = db_search_symbol(callpc, DB_STGY_ANY, &offset);
>               db_symbol_values(sym, &name, NULL);
> @@ -366,7 +366,7 @@ db_save_stack_trace(struct db_stack_trac
>               struct trapframe *tf;
>               char            *name;
>               db_expr_t       offset;
> -             db_sym_t        sym;
> +             Elf_Sym *       sym;
>               int             is_trap;
>  
>               st->st_pc[st->st_count++] = callpc;
> Index: arch/arm64/arm64/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm64/arm64/db_trace.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 db_trace.c
> --- arch/arm64/arm64/db_trace.c       17 Feb 2017 17:16:04 -0000      1.4
> +++ arch/arm64/arm64/db_trace.c       30 May 2017 10:26:17 -0000
> @@ -66,7 +66,7 @@ db_stack_trace_print(db_expr_t addr, int
>       u_int64_t       frame, lastframe, lr, lastlr, sp;
>       char            c, *cp = modif;
>       db_expr_t       offset;
> -     db_sym_t        sym;
> +     Elf_Sym *       sym;
>       char            *name;
>       boolean_t       kernel_only = TRUE;
>       boolean_t       trace_thread = FALSE;
> Index: arch/hppa/hppa/db_interface.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/hppa/hppa/db_interface.c,v
> retrieving revision 1.39
> diff -u -p -r1.39 db_interface.c
> --- arch/hppa/hppa/db_interface.c     30 Apr 2017 16:45:45 -0000      1.39
> +++ arch/hppa/hppa/db_interface.c     30 May 2017 10:26:24 -0000
> @@ -227,7 +227,7 @@ db_stack_trace_print(db_expr_t addr, int
>      char *modif, int (*pr)(const char *, ...))
>  {
>       register_t *fp, pc, rp, *argp;
> -     db_sym_t sym;
> +     Elf_Sym *sym;
>       db_expr_t off;
>       char *name;
>       int nargs;
> Index: arch/i386/i386/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/i386/db_trace.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 db_trace.c
> --- arch/i386/i386/db_trace.c 29 May 2017 06:14:10 -0000      1.27
> +++ arch/i386/i386/db_trace.c 30 May 2017 10:26:49 -0000
> @@ -74,7 +74,7 @@ struct db_variable *db_eregs = db_regs +
>  #define      INTERRUPT       3
>  #define      AST             4
>  
> -int db_numargs(struct callframe *, db_sym_t);
> +int db_numargs(struct callframe *, Elf_Sym *);
>  void db_nextframe(struct callframe **, db_addr_t *, int *, int,
>      int (*pr)(const char *, ...));
>  
> @@ -82,7 +82,7 @@ void db_nextframe(struct callframe **, d
>   * Figure out how many arguments were passed into the frame at "fp".
>   */
>  int
> -db_numargs(struct callframe *fp, db_sym_t sym)
> +db_numargs(struct callframe *fp, Elf_Sym *sym)
>  {
>       int     *argp;
>       int     inst;
> @@ -236,7 +236,7 @@ db_stack_trace_print(db_expr_t addr, boo
>               int             narg;
>               char *  name;
>               db_expr_t       offset;
> -             db_sym_t        sym;
> +             Elf_Sym         *sym;
>  
>               sym = db_search_symbol(callpc, DB_STGY_ANY, &offset);
>               db_symbol_values(sym, &name, NULL);
> @@ -339,7 +339,7 @@ db_save_stack_trace(struct db_stack_trac
>       for (i = 0; i < DB_STACK_TRACE_MAX && frame != NULL; i++) {
>               char            *name;
>               db_expr_t       offset;
> -             db_sym_t        sym;
> +             Elf_Sym         *sym;
>               int             is_trap = 0;
>  
>               st->st_pc[st->st_count++] = callpc;
> Index: arch/m88k/m88k/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/m88k/m88k/db_trace.c,v
> retrieving revision 1.16
> diff -u -p -r1.16 db_trace.c
> --- arch/m88k/m88k/db_trace.c 19 Sep 2016 21:18:35 -0000      1.16
> +++ arch/m88k/m88k/db_trace.c 30 May 2017 10:27:14 -0000
> @@ -458,7 +458,7 @@ static int next_address_likely_wrong = 0
>  static vaddr_t
>  stack_decode(db_addr_t addr, vaddr_t *stack, int (*pr)(const char *, ...))
>  {
> -     db_sym_t proc;
> +     Elf_Sym *proc;
>       db_expr_t offset_from_proc;
>       uint instructions_to_search;
>       db_addr_t check_addr;
> @@ -470,7 +470,7 @@ stack_decode(db_addr_t addr, vaddr_t *st
>       vaddr_t str30_addr = 0;
>       vaddr_t last_subu_addr = 0;
>  
> -     /* get what we hope will be the db_sym_t for the function name */
> +     /* get what we hope will be the symbol for the function name */
>       proc = db_search_symbol(addr, DB_STGY_PROC, &offset_from_proc);
>       if (offset_from_proc == addr) /* i.e. no symbol found */
>               proc = NULL;
> Index: arch/mips64/mips64/trap.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/mips64/mips64/trap.c,v
> retrieving revision 1.123
> diff -u -p -r1.123 trap.c
> --- arch/mips64/mips64/trap.c 20 Apr 2017 15:42:26 -0000      1.123
> +++ arch/mips64/mips64/trap.c 30 May 2017 10:27:21 -0000
> @@ -1206,7 +1206,7 @@ stacktrace_subr(struct trapframe *regs, 
>       extern char k_general[];
>  #ifdef DDB
>       db_expr_t diff;
> -     db_sym_t sym;
> +     Elf_Sym *sym;
>       char *symname;
>  #endif
>  
> Index: arch/powerpc/ddb/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/powerpc/ddb/db_trace.c,v
> retrieving revision 1.11
> diff -u -p -r1.11 db_trace.c
> --- arch/powerpc/ddb/db_trace.c       24 Jan 2017 00:58:55 -0000      1.11
> +++ arch/powerpc/ddb/db_trace.c       30 May 2017 10:27:30 -0000
> @@ -119,7 +119,7 @@ db_stack_trace_print(db_expr_t addr, int
>  {
>       db_addr_t        lr, sp, lastsp;
>       db_expr_t        offset;
> -     db_sym_t         sym;
> +     Elf_Sym         *sym;
>       char            *name;
>       char             c, *cp = modif;
>       int              trace_proc = 0;
> Index: arch/sh/sh/db_disasm.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/sh/sh/db_disasm.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 db_disasm.c
> --- arch/sh/sh/db_disasm.c    26 Feb 2007 19:33:41 -0000      1.3
> +++ arch/sh/sh/db_disasm.c    30 May 2017 10:27:38 -0000
> @@ -152,7 +152,7 @@ disasm_branch(char *buf, size_t bufsiz, 
>       size_t len;
>       db_expr_t d, value;
>       char *name;
> -     db_sym_t cursym;
> +     Elf_Sym *cursym;
>       extern unsigned long db_lastsym;
>       extern unsigned int db_maxoff;
>  
> Index: arch/sh/sh/db_trace.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/sh/sh/db_trace.c,v
> retrieving revision 1.6
> diff -u -p -r1.6 db_trace.c
> --- arch/sh/sh/db_trace.c     13 Jul 2014 12:11:01 -0000      1.6
> +++ arch/sh/sh/db_trace.c     30 May 2017 10:27:44 -0000
> @@ -113,7 +113,7 @@ db_stack_trace_print(db_expr_t addr, int
>               } else {
>                       char *name;
>                       db_expr_t offset;
> -                     db_sym_t sym;
> +                     Elf_Sym *sym;
>  
>  
>                       DPRINTF("    (1)newpc 0x%lx, newfp 0x%lx\n",
> Index: arch/sparc64/sparc64/openfirm.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/sparc64/sparc64/openfirm.c,v
> retrieving revision 1.19
> diff -u -p -r1.19 openfirm.c
> --- arch/sparc64/sparc64/openfirm.c   19 May 2016 09:15:28 -0000      1.19
> +++ arch/sparc64/sparc64/openfirm.c   30 May 2017 10:27:50 -0000
> @@ -802,7 +802,7 @@ void OF_val2sym(cells)
>               cell_t offset;
>               cell_t symbol;
>       } *args = (struct args*)cells;
> -     db_sym_t symbol;
> +     Elf_Sym *symbol;
>       db_expr_t value;
>       db_expr_t offset;
>  
> Index: ddb/db_elf.c
> ===================================================================
> RCS file: /cvs/src/sys/ddb/db_elf.c,v
> retrieving revision 1.25
> diff -u -p -r1.25 db_elf.c
> --- ddb/db_elf.c      28 May 2017 11:41:52 -0000      1.25
> +++ ddb/db_elf.c      30 May 2017 10:28:32 -0000
> @@ -263,7 +263,7 @@ db_elf_sym_lookup(char *symstr)
>   * Search for the symbol with the given address (matching within the
>   * provided threshold).
>   */
> -db_sym_t
> +Elf_Sym *
>  db_elf_sym_search(db_addr_t off, db_strategy_t strategy,
>      db_expr_t *diffp)
>  {
> @@ -324,14 +324,14 @@ db_elf_sym_search(db_addr_t off, db_stra
>       else
>               *diffp = diff;
>  
> -     return ((db_sym_t)rsymp);
> +     return (rsymp);
>  }
>  
>  /*
>   * Return the name and value for a symbol.
>   */
>  void
> -db_symbol_values(db_sym_t sym, char **namep, db_expr_t *valuep)
> +db_symbol_values(Elf_Sym *sym, char **namep, db_expr_t *valuep)
>  {
>       db_symtab_t *stab = &db_symtab;
>       Elf_Sym *symp = (Elf_Sym *)sym;
> @@ -362,7 +362,7 @@ db_symbol_values(db_sym_t sym, char **na
>   * if we can find the appropriate debugging symbol.
>   */
>  int
> -db_elf_line_at_pc(db_sym_t cursym, char **filename,
> +db_elf_line_at_pc(Elf_Sym *cursym, char **filename,
>      int *linenum, db_expr_t off)
>  {
>       db_symtab_t *stab = &db_symtab;
> @@ -426,7 +426,7 @@ db_elf_sym_forall(db_forall_func_t db_fo
>                       default:
>                               suffix[0] = '\0';
>                       }
> -                     (*db_forall_func)((db_sym_t)symp,
> +                     (*db_forall_func)(symp,
>                           strtab + symp->st_name, suffix, 0, arg);
>               }
>  }
> @@ -439,6 +439,6 @@ db_value_of_name(char *name, db_expr_t *
>       sym = db_elf_sym_lookup(name);
>       if (sym == NULL)
>           return (0);
> -     db_symbol_values((db_sym_t)sym, &name, valuep);
> +     db_symbol_values(sym, &name, valuep);
>       return (1);
>  }
> Index: ddb/db_hangman.c
> ===================================================================
> RCS file: /cvs/src/sys/ddb/db_hangman.c,v
> retrieving revision 1.36
> diff -u -p -r1.36 db_hangman.c
> --- ddb/db_hangman.c  16 Sep 2016 19:00:25 -0000      1.36
> +++ ddb/db_hangman.c  30 May 2017 10:28:49 -0000
> @@ -66,16 +66,16 @@ static const char substchar[]="\\/|\\/O|
>  
>  struct db_hang_forall_arg {
>       int cnt;
> -     db_sym_t sym;
> +     Elf_Sym *sym;
>  };
>  
>  /*
>   * Horrible abuse of the forall function, but we're not in a hurry.
>   */
> -static void db_hang_forall(db_sym_t, char *, char *, int, void *);
> +static void db_hang_forall(Elf_Sym *, char *, char *, int, void *);
>  
>  static void
> -db_hang_forall(db_sym_t sym, char *name, char *suff, int pre, void *varg)
> +db_hang_forall(Elf_Sym *sym, char *name, char *suff, int pre, void *varg)
>  {
>       struct db_hang_forall_arg *arg = varg;
>  
> Index: ddb/db_sym.c
> ===================================================================
> RCS file: /cvs/src/sys/ddb/db_sym.c,v
> retrieving revision 1.52
> diff -u -p -r1.52 db_sym.c
> --- ddb/db_sym.c      27 May 2017 16:08:23 -0000      1.52
> +++ ddb/db_sym.c      30 May 2017 10:29:16 -0000
> @@ -95,12 +95,12 @@ db_eqname(char *src, char *dst, int c)
>   * Find the closest symbol to val, and return its name
>   * and the difference between val and the symbol found.
>   */
> -db_sym_t
> +Elf_Sym *
>  db_search_symbol(db_addr_t val, db_strategy_t strategy, db_expr_t *offp)
>  {
>       unsigned int    diff;
>       db_expr_t       newdiff;
> -     db_sym_t        ret = NULL, sym;
> +     Elf_Sym         *ret = NULL, *sym;
>  
>       newdiff = diff = ~0;
>       sym = db_elf_sym_search(val, strategy, &newdiff);
> @@ -143,7 +143,7 @@ db_printsym(db_expr_t off, db_strategy_t
>       char            *name;
>       db_expr_t       value;
>       int             linenum;
> -     db_sym_t        cursym;
> +     Elf_Sym         *cursym;
>       char            buf[DB_FORMAT_BUF_SIZE];
>  
>       if (off <= db_lastsym) {
> Index: ddb/db_sym.h
> ===================================================================
> RCS file: /cvs/src/sys/ddb/db_sym.h,v
> retrieving revision 1.29
> diff -u -p -r1.29 db_sym.h
> --- ddb/db_sym.h      29 May 2017 06:14:10 -0000      1.29
> +++ ddb/db_sym.h      30 May 2017 10:30:14 -0000
> @@ -33,13 +33,7 @@
>  #define _DDB_DB_SYM_H_
>  
>  #include <sys/stdint.h>
> -
> -/*
> - * Symbol representation is specific to the symtab style:
> - * BSD compilers use dbx' nlist, other compilers might use
> - * a different one
> - */
> -typedef      char *          db_sym_t;       /* opaque handle on symbols */
> +#include <sys/exec_elf.h>
>  
>  /*
>   * Non-stripped symbol tables will have duplicates, for instance
> @@ -64,7 +58,7 @@ typedef int         db_strategy_t;  /* search st
>   * the type, prefix an initial ignorable function prefix (e.g. "_"
>   * in a.out), and arg an opaque argument to be passed in.
>   */
> -typedef void (db_forall_func_t)(db_sym_t, char *, char *, int, void *);
> +typedef void (db_forall_func_t)(Elf_Sym *, char *, char *, int, void *);
>  
>  extern unsigned int db_maxoff;               /* like gdb's 
> "max-symbolic-offset" */
>  
> @@ -74,10 +68,10 @@ int db_eqname(char *, char *, int);
>  int db_value_of_name(char *, db_expr_t *);
>                                       /* find symbol value given name */
>  
> -db_sym_t db_search_symbol(db_addr_t, db_strategy_t, db_expr_t *);
> +Elf_Sym * db_search_symbol(db_addr_t, db_strategy_t, db_expr_t *);
>                                       /* find symbol given value */
>  
> -void db_symbol_values(db_sym_t, char **, db_expr_t *);
> +void db_symbol_values(Elf_Sym *, char **, db_expr_t *);
>                                       /* return name and value of symbol */
>  
>  #define db_find_sym_and_offset(val,namep,offp)       \
> @@ -92,15 +86,15 @@ void db_printsym(db_expr_t, db_strategy_
>                                       /* print closest symbol to a value */
>  
>  int db_elf_sym_init(int, void *, void *, const char *);
> -db_sym_t db_elf_sym_search(db_addr_t, db_strategy_t, db_expr_t *);
> -int db_elf_line_at_pc(db_sym_t, char **, int *, db_expr_t);
> +Elf_Sym * db_elf_sym_search(db_addr_t, db_strategy_t, db_expr_t *);
> +int db_elf_line_at_pc(Elf_Sym *, char **, int *, db_expr_t);
>  void db_elf_sym_forall(db_forall_func_t db_forall_func, void *);
>  
>  bool db_dwarf_line_at_pc(const char *, size_t, uintptr_t,
>      const char **, const char **, int *);
>  
>  #ifdef DDBCTF
> -int  db_ctf_func_numargs(db_sym_t);
> +int  db_ctf_func_numargs(Elf_Sym *);
>  #endif
>  
>  #endif /* _DDB_DB_SYM_H_ */
> Index: ddb/db_ctf.c
> ===================================================================
> RCS file: /cvs/src/sys/ddb/db_ctf.c,v
> retrieving revision 1.9
> diff -u -p -r1.9 db_ctf.c
> --- ddb/db_ctf.c      29 May 2017 06:14:10 -0000      1.9
> +++ ddb/db_ctf.c      30 May 2017 10:31:31 -0000
> @@ -152,7 +152,7 @@ db_ctf_idx2sym(size_t *idx, uint8_t type
>   * For a given function name, return the number of arguments.
>   */
>  int
> -db_ctf_func_numargs(db_sym_t st)
> +db_ctf_func_numargs(Elf_Sym *st)
>  {
>       Elf_Sym                 *symp, *stp = (Elf_Sym *)st;
>       uint16_t                *fstart, *fend;
> Index: sys/exec_elf.h
> ===================================================================
> RCS file: /cvs/src/sys/sys/exec_elf.h,v
> retrieving revision 1.73
> diff -u -p -r1.73 exec_elf.h
> --- sys/exec_elf.h    18 Feb 2017 06:42:08 -0000      1.73
> +++ sys/exec_elf.h    30 May 2017 10:30:54 -0000
> @@ -736,6 +736,8 @@ extern Elf_Dyn            _DYNAMIC[];
>  #endif
>  
>  #ifdef       _KERNEL
> +struct exec_package;
> +
>  int  exec_elf_makecmds(struct proc *, struct exec_package *);
>  #endif /* _KERNEL */
>  
> 
> 

Reply via email to