~ubuntu-branches/ubuntu/raring/virtualbox-ose/raring

« back to all changes in this revision

Viewing changes to src/VBox/Debugger/DBGPlugInCommonELF.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2011-01-30 23:27:25 UTC
  • mfrom: (0.3.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20110130232725-2ouajjd2ggdet0zd
Tags: 4.0.2-dfsg-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - Add Apport hook.
    - debian/virtualbox-ose.files/source_virtualbox-ose.py
    - debian/virtualbox-ose.install
  - Drop *-source packages.
* Drop ubuntu-01-fix-build-gcc45.patch, fixed upstream.
* Drop ubuntu-02-as-needed.patch, added to the Debian package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Id: DBGPlugInCommonELF.h 33540 2010-10-28 09:27:05Z vboxsync $ */
 
2
/** @file
 
3
 * DBGPlugInCommonELF - Common code for dealing with ELF images, Header.
 
4
 */
 
5
 
 
6
/*
 
7
 * Copyright (C) 2008-2010 Oracle Corporation
 
8
 *
 
9
 * This file is part of VirtualBox Open Source Edition (OSE), as
 
10
 * available from http://www.virtualbox.org. This file is free software;
 
11
 * you can redistribute it and/or modify it under the terms of the GNU
 
12
 * General Public License (GPL) as published by the Free Software
 
13
 * Foundation, in version 2 as it comes in the "COPYING" file of the
 
14
 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
 
15
 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 
16
 */
 
17
 
 
18
#ifndef ___Debugger_DBGPlugInCommonELF_h
 
19
#define ___Debugger_DBGPlugInCommonELF_h
 
20
 
 
21
#include <VBox/types.h>
 
22
#include "../Runtime/include/internal/ldrELF32.h"
 
23
#include "../Runtime/include/internal/ldrELF64.h"
 
24
 
 
25
/** @name DBGDiggerCommonParseElf32Mod and DBGDiggerCommonParseElf64Mod flags
 
26
 * @{ */
 
27
/** Whether to adjust the symbol values or not. */
 
28
#define DBG_DIGGER_ELF_ADJUST_SYM_VALUE     RT_BIT_32(0)
 
29
/** Indicates that we're missing section headers and that
 
30
 * all section indexes are to be considered invalid. (Solaris hack.)
 
31
 * This flag is incompatible with DBG_DIGGER_ELF_ADJUST_SYM_VALUE. */
 
32
#define DBG_DIGGER_ELF_FUNNY_SHDRS          RT_BIT_32(1)
 
33
/** Valid bit mask. */
 
34
#define DBG_DIGGER_ELF_MASK                 UINT32_C(0x00000003)
 
35
/* @} */
 
36
 
 
37
int DBGDiggerCommonParseElf32Mod(PVM pVM, const char *pszModName, const char *pszFilename, uint32_t fFlags,
 
38
                                 Elf32_Ehdr const *pEhdr, Elf32_Shdr const *paShdrs,
 
39
                                 Elf32_Sym const *paSyms, size_t cMaxSyms,
 
40
                                 char const *pbStrings, size_t cbMaxStrings,
 
41
                                 RTGCPTR MinAddr, RTGCPTR MaxAddr, uint64_t uModTag);
 
42
 
 
43
int DBGDiggerCommonParseElf64Mod(PVM pVM, const char *pszModName, const char *pszFilename, uint32_t fFlags,
 
44
                                 Elf64_Ehdr const *pEhdr, Elf64_Shdr const *paShdrs,
 
45
                                 Elf64_Sym const *paSyms, size_t cMaxSyms,
 
46
                                 char const *pbStrings, size_t cbMaxStrings,
 
47
                                 RTGCPTR MinAddr, RTGCPTR MaxAddr, uint64_t uModTag);
 
48
 
 
49
#endif
 
50