Jacek Caban
95a5f82961
dbghelp: Use vtbl to handle different image_file_map types.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:47 +01:00
Jacek Caban
02dfd959ca
dbghelp: Move alternate file map pointer to generic image_file_map.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:41 +01:00
Jacek Caban
a3e1c7fa02
dbghelp: Use generic image_find_section in elf_check_alternate.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:38:34 +01:00
Jacek Caban
a60b3985bf
dbghelp: Use Windows API to map ELF files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:19 +01:00
Andreas Maier
8d096fb5e2
dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
...
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:29:26 +01:00
Michael Stefaniuc
053a7e225c
dbghelp: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 00:18:02 +02:00
Zebediah Figura
99e818154a
dbghelp: Read the r_debug and link_map structs corresponding to the target's architecture.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:59 +02:00
Zebediah Figura
7e4fd17d5b
dbghelp: Translate the 32-bit ELF symbol struct to the 64-bit one.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:49 +02:00
Zebediah Figura
51ada19ac2
dbghelp: Read the Elf_auxv_t struct corresponding to the target's architecture.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:38 +02:00
Zebediah Figura
bb53152faa
dbghelp: Read the Elf_Dyn struct corresponding to the target's architecture.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:34 +02:00
Zebediah Figura
bd620ffb44
dbghelp: Read the ELF program header corresponding to the target's architecture.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:21:28 +02:00
Zebediah Figura
4005901773
dbghelp: Translate the 32-bit ELF section header to the 64-bit one.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:42:12 +02:00
Zebediah Figura
799e0bfa57
dbghelp: Translate the 32-bit ELF header to the 64-bit one.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:42:03 +02:00
Zebediah Figura
a612f1f56f
dbghelp: Detect ELF architecture before reading the whole header.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:41:54 +02:00
Zebediah Figura
c2c0e4fe51
dbghelp: Don't enforce child architecture in elf_map_file().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:41:46 +02:00
Zebediah Figura
185d9ee7eb
dbghelp: Correctly determine the wine loader base address.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 21:36:47 +02:00
Zebediah Figura
a981edf0bc
dbghelp: Determine the wine loader name from the target process's architecture.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 21:36:42 +02:00
Alexandre Julliard
74f05b8660
dbghelp: Use the main module load address from the PEB.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:04 +02:00
Michael Stefaniuc
c8ab4004ad
dbghelp: Use CONTAINING_RECORD instead of reimplementing it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-08 21:29:15 +09:00
Frédéric Delanoy
d066561625
dbghelp: Constify some character strings.
2013-12-16 12:02:49 +01:00
Frédéric Delanoy
5ba7f79bad
Assorted spelling fixes.
2013-12-03 19:41:53 +01:00
Huw Davies
96e32da5c9
dbghelp: Add a couple of structures that are missing from the Android ndk.
2013-09-23 20:32:21 +02:00
Andrew Talbot
ddf922d7a1
dbghelp: Avoid signed-unsigned integer comparisons.
2013-01-15 12:14:11 +01:00
Alexandre Julliard
a81996d757
dbghelp: Use sysconf() instead of getpagesize().
2013-01-09 12:15:25 +01:00
Andrew Talbot
9feb4053fe
dbghelp: Indentation fix.
2012-12-17 11:47:38 +01:00
Gerald Pfeifer
6cb7cd1983
dbghelp: Avoid unconditional use of NT_GNU_BUILD_ID.
2012-06-04 12:17:55 +02:00
Eric Pouech
d647bd108c
dbghelp: Use build-id information to locate debug information (and prefer it over .debug_link when both are present).
2012-06-01 13:24:36 +02:00
Eric Pouech
8328606141
dbghelp: Store the 32/64 bitness in the image structure.
2012-02-14 12:31:48 +01:00
André Hentschel
bfdc93cdc5
dbghelp: Remove superfluous PATH_MAX defines.
2011-10-11 19:44:33 +02:00
Frédéric Delanoy
f932abf326
dlls: Assorted spelling fixes.
2011-08-01 18:26:27 +02:00
André Hentschel
5d0d2ef893
dbghelp: Remove dead code (clang).
2011-07-11 11:51:11 +02:00
Frédéric Delanoy
e35cdaa138
dbghelp: Remove dead code (Clang).
2011-07-05 14:43:43 +02:00
Gerald Pfeifer
d93b6c0aa2
dbghelp: Add a return statement for the default/assert case in elf_map_file.
2011-04-01 10:48:57 +02:00
Eric Pouech
b10977fc3c
dbghelp: Now that compilers (like clang) start to merge symbols across compilation units, no longer barf about duplicates.
2011-03-28 17:24:42 +02:00
Eric Pouech
dca2d350ad
dbghelp: Add helper to get global address out of symt, instead of going though symt_get_info.
2011-03-09 13:52:41 +01:00
Eric Pouech
031cce8e77
dbghelp: Added support for variables in thread storage.
2011-01-31 14:30:13 +01:00
Alexandre Julliard
3bae7d0383
dbghelp: Add a helper function to determine the name of the wine loader.
2011-01-28 11:41:14 +01:00
Gerald Pfeifer
061b50eda5
dbghelp: Also return a value in an error case in elf_map_file_read.
2011-01-03 11:54:03 +01:00
Gerald Pfeifer
8f7d06b69b
dbghelp: Make ehdr_addr in elf_enum_modules_internal dependent on AT_SYSINFO_EHDR.
2010-12-29 11:59:33 +01:00
Eric Pouech
1966ba8b7f
dbghelp: For targets on Linux, report the VDSO system page as a known ELF module.
2010-12-28 11:18:33 +01:00
Eric Pouech
749dafd987
dbghelp: Extend elf_map_file so that it can also handle ELF maps directly from debuggee address space.
2010-12-28 11:16:07 +01:00
Eric Pouech
737b5b95bb
dbghelp: Use pread instead of read in elf_map_file.
2010-12-28 11:15:24 +01:00
Eric Pouech
655247354a
dbghelp: Split elf_load_file into two functions (one for creating a file-map, another one for loading info out of a file-map).
2010-12-28 11:15:06 +01:00
Eric Pouech
8740f1dc1e
dbghelp: Factorize a bit the ELF enumeration callbacks.
2010-12-28 11:14:43 +01:00
Eric Pouech
cf06ef640d
dbghelp: Fix ELF file computation on 64bit systems.
2010-12-27 11:47:51 +01:00
Eric Pouech
854379bbaa
dbghelp: Fix some relocation errors for debug formats out of ELF files.
2010-10-11 17:11:24 +02:00
Eric Pouech
922caac23b
dbghelp: Compute ELF load address using the link_map ld's address (and get correct relocation computation).
2010-10-11 17:11:24 +02:00
Eric Pouech
2662ed10c8
dbghelp: When enumerating loaded modules from r_debug structure, pass the address of the dynamic section as well.
2010-10-11 17:11:24 +02:00
Eric Pouech
2a87a89680
dbghelp: Only map an ELF file once.
2010-10-11 17:11:17 +02:00
Eric Pouech
229d753bc9
dbghelp: Some more 64bit base address fixes.
2010-10-11 17:07:57 +02:00
Paul Vriens
5da1ecef3a
dbghelp: Fix use of GetProcessHeap.
2010-09-21 17:53:55 +02:00
Eric Pouech
34ef8d2113
dbghelp: Store delta used for re-locating a module.
2010-04-02 10:34:37 +02:00
Eric Pouech
4c3361e39e
dbghelp: Properly bail out if get an error while reading ELF header.
2010-03-22 11:29:14 +01:00
Eric Pouech
fe2ae803ee
dbghelp: Moved the ELF's module information into the new scheme.
2010-03-19 12:08:46 +01:00
Eric Pouech
2d8c788353
dbghelp: Let dwarf_parse decide on which sections it needs to map.
2010-03-19 12:08:03 +01:00
Eric Pouech
c9bac2efd2
dbghelp: Extend the image (ELF/PE) scheme to get the RVA out of a section.
2010-03-19 12:07:45 +01:00
Eric Pouech
cbff4f063f
dbghelp: Create the notion of image (PE, ELF modules) to uniformize some handlings.
2010-03-19 12:05:59 +01:00
Eric Pouech
770f0d834f
dbghelp: Make the ELF mapping code easier to use.
2010-03-19 12:03:57 +01:00
Eric Pouech
8c4f96d232
dbghelp: Store the file map in ELF's module specific data.
2010-03-16 13:31:05 +01:00
Eric Pouech
9d7b6b65ef
dbghelp: Added helper to free module's specific data (ELF, MSC...) upon removal.
2010-03-16 13:30:46 +01:00
Eric Pouech
181de55619
dbghelp: Removed some unused fields for public symbol description.
2010-01-25 12:52:46 +01:00
Eric Pouech
bc38d3eaac
dbghelp: Add support for loading dwarf debug information out of PE images.
2009-12-24 12:15:41 +01:00
Eric Pouech
92b9b0940d
dbghelp: Wrap the symt* <=> index transformations.
2009-12-15 11:56:45 +01:00
Eric Pouech
02a70615f9
dbghelp: Add ELF support but for the current 32 vs 64 bit architecture.
2009-12-14 12:28:25 +01:00
Paul Bolle
4c97910387
dbghelp: elf_load_file: return if elf_map_file fails.
2009-10-28 14:28:38 +01:00
Andrew Talbot
41ca9b0ffd
dbghelp: Constify some variables.
2009-07-13 10:24:56 +02:00
Eric Pouech
607a07f42a
dbghelp: When loading ELF public information, handle the cases when we don't get an address.
2009-06-26 12:00:25 +02:00
Ken Thomases
637827a2d0
dbghelp: Extract calc_crc32 function into a separate file.
2009-03-12 14:29:03 +01:00
Ken Thomases
b8f6a68d6f
dbghelp: Rename some things to be less ELF-centric.
2009-03-12 13:09:56 +01:00
Ken Thomases
3db11b98b7
dbghelp: Let stabs_parse call back for real (non-debug) symbol definitions.
2009-03-12 13:09:55 +01:00
Alexandre Julliard
d2682f57f8
dbghelp: The main executable is now always named "wine".
2009-03-10 18:22:43 +01:00
Peter Oberndorfer
b19fa1d282
dbghelp: Minor cleanup.
2007-05-17 12:44:50 +02:00
Alexandre Julliard
b677e81d8f
dbghelp: Avoid some warnings on Solaris.
2007-03-17 20:05:34 +01:00
Peter Oberndorfer
25203bd87e
dbghelp: Fix up load_offset to work in case the load offset is different for real binary and debug link file.
2007-03-16 11:34:47 +01:00
Peter Oberndorfer
7bbb212050
dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
...
Make sidx signed so sidx < 0 comparisons work.
(most of the patch written by Eric Pouech)
2007-03-16 11:34:33 +01:00
Eric Pouech
f2cfb374a4
dbghelp: Get rid of module_name in all traces (using Unicode flavor).
2007-03-13 21:02:42 +01:00
Eric Pouech
ade919c603
dbghelp: Cleanups for module loading (lookups on module name and image name are two different things)
...
- split up module_find_by_name in two different functions:
+ reused module_find_by_name which looks upon the module name
+ added module_is_already_loaded which looks upon the image name
- cleanup module loading using these functions (removed extra parameter
to pe_load_module_from_pcs)
2007-03-13 20:58:08 +01:00
Eric Pouech
e161dd92ee
dbghelp: Handle the .gnu_debuglink files with the newly added alternate mechanism.
2007-02-26 14:39:52 +01:00
Eric Pouech
fc66bb37f4
dbghelp: Allow to add an alternate file_map for an ELF file (where to look for its debug information).
2007-02-26 14:39:38 +01:00
Eric Pouech
62b57f9e21
dbghelp: Rewrote the ELF section mapper for better data encapsulation.
2007-02-26 14:39:16 +01:00
Eric Pouech
8d3167cc9a
dbghelp: Merge the A/W of elf_map_file into a single one.
2007-02-22 12:34:09 +01:00
Eric Pouech
0c1e33bb06
dbghelp: Now load the .gnu_debuglink file using Unicode search paths.
2007-02-22 12:33:37 +01:00
Eric Pouech
4aab161297
dbghelp: Added helper to map a Unicode file.
2007-02-22 12:33:14 +01:00
Eric Pouech
3565d93ebe
dbghelp: Now moving the ELF loading code to Unicode.
2007-02-22 12:32:17 +01:00
Eric Pouech
c1269392e0
dbghelp: Move elf_fetch_file_info to Unicode.
2007-02-22 12:29:53 +01:00
Eric Pouech
039d54a4bf
dbghelp: Make elf_enum_modules a Unicode function.
2007-02-22 12:29:27 +01:00
Eric Pouech
46684a9fb6
dbghelp: Moved ELF module loading interfaces to Unicode.
...
The core the code remains ANSI, as all the information is stored as ANSI.
2007-02-22 12:20:03 +01:00
Eric Pouech
43dffcd05d
dbghelp: Now storing module information in Unicode form.
2007-02-22 11:39:08 +01:00
Eric Pouech
6efc061992
dbghelp: .gnu_link support: rewrote helper functions for better later unicodification.
2007-02-22 11:35:21 +01:00
Eric Pouech
aac77c98a2
dbghelp: Added an ANSI copy of the module name (useful for next patches).
2007-02-22 11:28:53 +01:00
Rob Shearman
272d7ab46a
dbghelp: ImageName is usually blank, so print LoadedImageName in elf_load_debug_info_map.
2007-02-21 19:49:43 +01:00
Frank Richter
867ebe4da0
dbghelp: Search for .gnu_debuglink file.
2007-01-17 11:40:10 +01:00
Eric Pouech
2e34ea4e01
dbghelp: Removed unneeded code from rewrite of .gnu_link handling.
2007-01-15 13:00:17 +01:00
Frank Richter
afc2df8705
dbghelp: Split gnu_debuglink handling into own function.
2007-01-12 11:24:06 +01:00
Eric Pouech
1b158dd38d
dbghelp: Corrected the map/unmap operations for ELF sections.
...
Now correctly free the mapped areas when no longer used.
2007-01-06 11:40:44 +01:00
Andrew Talbot
3af121230b
dbghelp: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL.
2007-01-02 13:21:15 +01:00
Eric Pouech
4806320b48
dbghelp: In find_nearest, now return the symbol instead of its index in module->sorttable.
2006-12-06 11:37:10 +01:00
Eric Pouech
08712bc3a9
dbghelp: Simplify the way we find the debug header.
2006-12-06 11:36:59 +01:00
Thomas Fitzsimmons
4b30ece829
dbghelp: Recognize DT_GNU_HASH.
2006-12-05 11:49:15 +01:00
Pierre d'Herbemont
c20afad608
dbghelp: Fix elf_load_module params on non elf system to reflect last change to its definition.
2006-12-04 12:19:22 +01:00