VirtualBox

Ignore:
Timestamp:
Jan 2, 2015 12:31:09 PM (10 years ago)
Author:
vboxsync
Message:

VBoxDTrace: VBoxDTrace links! (r36)

Location:
trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_aggregate.c

    r53652 r53659  
    309309dt_aggregate_sym(dtrace_hdl_t *dtp, uint64_t *data)
    310310{
    311 #ifndef VBOX
    312311        GElf_Sym sym;
    313312        uint64_t *pc = data;
     
    315314        if (dtrace_lookup_by_addr(dtp, *pc, &sym, NULL) == 0)
    316315                *pc = sym.st_value;
    317 #endif
    318316}
    319317
     
    321319dt_aggregate_mod(dtrace_hdl_t *dtp, uint64_t *data)
    322320{
    323 #ifndef VBOX
    324321        uint64_t *pc = data;
    325322        dt_module_t *dmp;
     
    344341                }
    345342        }
    346 #endif
    347343}
    348344
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_cg.c

    r53655 r53659  
    18701870                        dtrace_hdl_t *dtp = yypcb->pcb_hdl;
    18711871                        dtrace_syminfo_t *sip = dnp->dn_ident->di_data;
    1872 #ifndef VBOX
    18731872                        GElf_Sym sym;
    18741873
    18751874                        if (dtrace_lookup_by_name(dtp,
    18761875                            sip->dts_object, sip->dts_name, &sym, NULL) == -1) {
    1877 #endif
    18781876                                xyerror(D_UNKNOWN, "cg failed for symbol %s`%s:"
    18791877                                    " %s\n", sip->dts_object, sip->dts_name,
    18801878                                    dtrace_errmsg(dtp, dtrace_errno(dtp)));
    1881 #ifndef VBOX
    18821879                        }
    18831880
     
    18941891                                    dt_cg_node_alloc(DT_LBL_NONE, instr));
    18951892                        }
    1896 #endif
    18971893                        break;
    18981894                }
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_consume.c

    r53655 r53659  
    837837    caddr_t addr, int depth, int size)
    838838{
    839 #ifndef VBOX
    840839        dtrace_syminfo_t dts;
    841840        GElf_Sym sym;
    842 #endif
    843841        int i, indent;
    844842        char c[PATH_MAX * 2];
     
    880878                        return (-1);
    881879
    882 #ifndef VBOX
    883880                if (dtrace_lookup_by_addr(dtp, pc, &sym, &dts) == 0) {
    884881                        if (pc > sym.st_value) {
     
    900897                                    dts.dts_object, pc);
    901898                        } else {
    902 #endif
    903899                                (void) snprintf(c, sizeof (c), "0x%llx", pc);
    904 #ifndef VBOX
    905900                        }
    906901                }
    907 #endif
    908902
    909903                if (dt_printf(dtp, fp, format, c) < 0)
     
    11591153        /* LINTED - alignment */
    11601154        uint64_t pc = *((uint64_t *)addr);
    1161 #ifndef VBOX
    11621155        dtrace_syminfo_t dts;
    11631156        GElf_Sym sym;
    11641157        char c[PATH_MAX * 2];
    1165 #else
    1166         char c[64];
    1167 #endif
    11681158
    11691159        if (format == NULL)
    11701160                format = "  %-50s";
    11711161
    1172 #ifndef VBOX
    11731162        if (dtrace_lookup_by_addr(dtp, pc, &sym, &dts) == 0) {
    11741163                (void) snprintf(c, sizeof (c), "%s`%s",
     
    11881177                }
    11891178        }
    1190 #else
    1191         snprintf(c, sizeof (c), "0x%llx", (u_longlong_t)pc);
    1192 #endif
    11931179
    11941180        if (dt_printf(dtp, fp, format, c) < 0)
     
    12031189        /* LINTED - alignment */
    12041190        uint64_t pc = *((uint64_t *)addr);
    1205 #ifndef VBOX
    12061191        dtrace_syminfo_t dts;
    1207 #endif
    12081192        char c[PATH_MAX * 2];
    12091193
     
    12111195                format = "  %-50s";
    12121196
    1213 #ifndef VBOX
    12141197        if (dtrace_lookup_by_addr(dtp, pc, NULL, &dts) == 0) {
    12151198                (void) snprintf(c, sizeof (c), "%s", dts.dts_object);
    1216         } else
    1217 #endif
    1218         {
     1199        } else {
    12191200                (void) snprintf(c, sizeof (c), "0x%llx", (u_longlong_t)pc);
    12201201        }
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_impl.h

    r53653 r53659  
    8787        uint_t (*do_syminit)(struct dt_module *);
    8888        void (*do_symsort)(struct dt_module *);
    89 #ifndef VBOX
    9089        GElf_Sym *(*do_symname)(struct dt_module *,
    9190            const char *, GElf_Sym *, uint_t *);
    9291        GElf_Sym *(*do_symaddr)(struct dt_module *,
    9392            GElf_Addr, GElf_Sym *, uint_t *);
    94 #endif
    9593} dt_modops_t;
    9694
     
    133131        uint_t dm_flags;        /* module flags (see below) */
    134132        int dm_modid;           /* modinfo(1M) module identifier */
    135 #ifndef VBOX
    136133        GElf_Addr dm_text_va;   /* virtual address of text section */
    137134        GElf_Xword dm_text_size; /* size in bytes of text section */
     
    140137        GElf_Addr dm_bss_va;    /* virtual address of BSS */
    141138        GElf_Xword dm_bss_size; /* size in bytes of BSS */
    142 #endif
    143139        dt_idhash_t *dm_extern; /* external symbol definitions */
    144140} dt_module_t;
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_module.c

    r53655 r53659  
    4343#include <dirent.h>
    4444#else  /* VBOX */
     45# include "../../../../../../Runtime/include/internal/ldrELF32.h"
     46# ifdef _MSC_VER
     47#  include <process.h>
     48#  define getuid() 0
     49#  define getgid() 0
     50#  define geteuid() 0
     51#  define getegid() 0
     52#  define getpid() _getpid()
     53#  define getppid() 0
     54
     55#  define getpgid(a) 0
     56#  define getsid(a) 0
     57# else
     58#  include <unistd.h>
     59# endif
     60# define getprojid() 0
     61# define gettaskid() 0
     62
    4563#endif /* VBOX */
    4664
     
    4967#include <dt_impl.h>
    5068
    51 #ifndef VBOX /** @todo port what is necessary here ! */
    5269
    5370static const char *dt_module_strtab; /* active strtab for qsort callbacks */
     
    474491dt_module_load_sect(dtrace_hdl_t *dtp, dt_module_t *dmp, ctf_sect_t *ctsp)
    475492{
     493#ifndef VBOX  /** @todo consider this later */
    476494        const char *s;
    477495        size_t shstrs;
     
    507525            dmp->dm_name, ctsp->cts_name, (ulong_t)ctsp->cts_size);
    508526
     527#endif /* !VBOX */
    509528        return (0);
    510529}
     
    561580         */
    562581        dmp->dm_nsymelems =
    563             dmp->dm_symtab.cts_size / dmp->dm_symtab.cts_entsize;
     582            VBDTCAST(uint_t)(dmp->dm_symtab.cts_size / dmp->dm_symtab.cts_entsize);
    564583
    565584        dmp->dm_nsymbuckets = _dtrace_strbuckets;
     
    702721        dmp->dm_aslen = 0;
    703722
    704         dmp->dm_text_va = NULL;
     723        dmp->dm_text_va = 0/*NULL*/;
    705724        dmp->dm_text_size = 0;
    706         dmp->dm_data_va = NULL;
     725        dmp->dm_data_va = 0/*NULL*/;
    707726        dmp->dm_data_size = 0;
    708         dmp->dm_bss_va = NULL;
     727        dmp->dm_bss_va = 0/*NULL*/;
    709728        dmp->dm_bss_size = 0;
    710729
     
    714733        }
    715734
     735#ifndef VBOX
    716736        (void) elf_end(dmp->dm_elf);
    717737        dmp->dm_elf = NULL;
     738#endif
    718739
    719740        dmp->dm_flags &= ~DT_DM_LOADED;
     
    812833dt_module_update(dtrace_hdl_t *dtp, const char *name)
    813834{
     835#ifndef VBOX
    814836        char fname[MAXPATHLEN];
    815837        struct stat64 st;
     
    903925        dt_dprintf("opened %d-bit module %s (%s) [%d]\n",
    904926            bits, dmp->dm_name, dmp->dm_file, dmp->dm_modid);
     927#endif /* !VBOX */
    905928}
    906929
     
    912935dtrace_update(dtrace_hdl_t *dtp)
    913936{
     937#ifndef VBOX
    914938        dt_module_t *dmp;
    915939        DIR *dirp;
     
    934958                (void) closedir(dirp);
    935959        }
     960#endif /* !VBOX */
    936961
    937962        /*
     
    13181343}
    13191344
    1320 #endif /* !VBOX */
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_parser.c

    r53655 r53659  
    769769dt_node_sizeof(const dt_node_t *dnp)
    770770{
    771 #ifndef VBOX
    772771        dtrace_syminfo_t *sip;
    773772        GElf_Sym sym;
    774 #endif
    775773        dtrace_hdl_t *dtp = yypcb->pcb_hdl;
    776774
     
    787785                return (dt_node_type_size(dnp));
    788786
    789 #ifndef VBOX
    790787        sip = dnp->dn_ident->di_data;
    791788
     
    795792
    796793        return (sym.st_size);
    797 #else
    798         return (0);
    799 #endif
    800794}
    801795
     
    14371431
    14381432        case DT_DC_EXTERN: {
    1439 #ifndef VBOX
    14401433                dtrace_typeinfo_t ott;
    14411434                dtrace_syminfo_t dts;
     
    14601453                            "failed to extern %s: %s\n", dsp->ds_ident,
    14611454                            dtrace_errmsg(dtp, dtrace_errno(dtp)));
    1462                 } else
    1463 #endif
    1464                 {
    1465 
     1455                } else {
    14661456                        dt_dprintf("extern %s`%s type=<%s>\n",
    14671457                            dmp->dm_name, dsp->ds_ident,
     
    25922582        dtrace_attribute_t attr = _dtrace_defattr;
    25932583        dt_ident_t *idp;
    2594 #ifndef VBOX
    25952584        dtrace_syminfo_t dts;
    25962585        GElf_Sym sym;
    2597 #endif
    25982586
    25992587        const char *scope, *mark;
     
    26842672                dt_node_attr_assign(dnp, attr);
    26852673
    2686 #ifndef VBOX
    26872674        } else if (dhp == dtp->dt_globals && scope != DTRACE_OBJ_EXEC &&
    26882675            dtrace_lookup_by_name(dtp, scope, name, &sym, &dts) == 0) {
     
    27532740                        dnp->dn_flags |= DT_NF_USERLAND;
    27542741                }
    2755 #endif /* !VBOX */
    27562742        } else if (scope == DTRACE_OBJ_EXEC && create == B_TRUE) {
    27572743                uint_t flags = DT_IDFLG_WRITE;
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_subr.c

    r53655 r53659  
    861861dtrace_addr2str(dtrace_hdl_t *dtp, uint64_t addr, char *str, int nbytes)
    862862{
    863 #ifndef VBOX
    864863        dtrace_syminfo_t dts;
    865864        GElf_Sym sym;
     
    893892                }
    894893        }
    895 #else
    896         char s[32];
    897         RTStrPrintf(s, sizeof(s), "0x%llx", (uint64_t)addr);
    898 #endif
    899894
    900895        return (dt_string2str(s, str, nbytes));
  • trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dtrace.h

    r53653 r53659  
    451451        uint_t dto_flags;                       /* object flags (see below) */
    452452
    453 #ifndef VBOX
    454453        GElf_Addr dto_text_va;                  /* address of text section */
    455454        GElf_Xword dto_text_size;               /* size of text section */
     
    458457        GElf_Addr dto_bss_va;                   /* address of BSS */
    459458        GElf_Xword dto_bss_size;                /* size of BSS */
    460 #endif
    461459} dtrace_objinfo_t;
    462460
     
    475473} dtrace_syminfo_t;
    476474
    477 #ifndef VBOX
    478475extern int dtrace_lookup_by_name(dtrace_hdl_t *, const char *, const char *,
    479476    GElf_Sym *, dtrace_syminfo_t *);
     
    481478extern int dtrace_lookup_by_addr(dtrace_hdl_t *, GElf_Addr addr,
    482479    GElf_Sym *, dtrace_syminfo_t *);
    483 #endif /* !VBOX */
    484480
    485481typedef struct dtrace_typeinfo {
     
    492488    dtrace_typeinfo_t *);
    493489
    494 #ifndef VBOX
    495490extern int dtrace_symbol_type(dtrace_hdl_t *, const GElf_Sym *,
    496491    const dtrace_syminfo_t *, dtrace_typeinfo_t *);
    497 #endif
    498492
    499493extern int dtrace_type_strcompile(dtrace_hdl_t *,
     
    535529struct dtrace_vector {
    536530        int (*dtv_ioctl)(void *, int, void *);
    537 #ifndef VBOX
    538531        int (*dtv_lookup_by_addr)(void *, GElf_Addr, GElf_Sym *,
    539532            dtrace_syminfo_t *);
    540 #endif /* !VBOX */
    541533        int (*dtv_status)(void *, processorid_t);
    542534        long (*dtv_sysconf)(void *, int);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette