search for: debug_arang

Displaying 20 results from an estimated 96 matches for "debug_arang".

Did you mean: debug_aranges
2020 Mar 12
2
DWARF .debug_aranges data objects and address spaces
...tain > > addresses in that numeric range. > > > Sorry I'm not following, partly probably due to my not having worked > with > such machines before. > > But how are the code addresses and data addresses differentiated then > (eg: > if you had segment selectors in debug_aranges, how would they be used? > The > addresses taken from the system at runtime have some kind of segment > selector associated with them, that you can then use to match with the > addr+segment selector in aranges?). Yes. This. The system mostly provides us the ability to disambiguate add...
2020 Mar 12
3
DWARF .debug_aranges data objects and address spaces
...least it has never come up before that I’m aware of. So, when we emit DWARF, we assume a flat address space (unconditionally setting the segment selector size to zero), and llvm-dwarfdump will choke (hopefully cleanly, but still) on an object file that uses DWARF segment selectors. The point of .debug_aranges is to accelerate the search for the appropriate CU. Yes you can spend time trolling through .debug_info and .debug_abbrev, decoding the CU DIEs looking for low_pc/high_pc pairs (or perhaps pointers to .debug_ranges) and effectively rebuild a .debug_aranges section yourself, if the compiler/linke...
2020 Mar 16
4
DWARF .debug_aranges data objects and address spaces
On Mon, Mar 16, 2020 at 9:31 AM Robinson, Paul <paul.robinson at sony.com> wrote: > With AVR being affected, upstreaming a patch to put segment selectors into > .debug_aranges becomes completely reasonable. There would likely want to > be a target hook somewhere to return a value saying what size to use, with > the default implementation returning zero. > *nod* something along those lines > > If the producer has put ranges on the CU it's not a l...
2020 Mar 16
2
DWARF .debug_aranges data objects and address spaces
...segment selector size to zero), >> and llvm-dwarfdump will choke (hopefully cleanly, but still) on an object >> file that uses DWARF segment selectors. >> > > FWIW Luke mentioned in the original email the AVR in-tree backend seems to > have this problem with an ambiguous debug_aranges entries. > > >> The point of .debug_aranges is to accelerate the search for the >> appropriate CU. Yes you can spend time trolling through .debug_info and >> .debug_abbrev, decoding the CU DIEs looking for low_pc/high_pc pairs (or >> perhaps pointers to .debug_rang...
2020 Mar 16
2
DWARF .debug_aranges data objects and address spaces
On Mon, Mar 16, 2020 at 10:50 AM Robinson, Paul <paul.robinson at sony.com> wrote: > SCE tuning does turn on the .debug_aranges section. Our debugger team > really cares about startup cost. Turnaround time in general is huge for our > licensees, to the point where we support edit-and-continue (minimal > rebuild, live-patch the running process). > Ah, good to know! I'd be curious to know about the perform...
2020 Mar 11
2
DWARF .debug_aranges data objects and address spaces
On Tue Mar 10, 2020 at 7:45 PM, David Blaikie wrote: > If you only want code addresses, why not use the CU's > low_pc/high_pc/ranges > - those are guaranteed to be only code addresses, I think? > In the common case, for most targets LLVM supports I think you're right, but for my case, regrettably, not. Because my target is a Harvard Architecture, any code address can have the
2020 Mar 10
2
DWARF .debug_aranges data objects and address spaces
...when program addresses overlap data addresses. The target is a Harvard Architecture CPU, so the appearance of overlapping address ranges is not in itself a bug as they reside in different address spaces. During my investigations, I found that: - gcc appears to never generate an entry in the `.debug_aranges` table for data objects. I did a cursory read over gcc's source and history and it is my understanding that aranges are deliberately only emitted for text and cold text sections[1]. - However, the DWARF v5 specification[2] for `.debug_aranges` does not suggest that...
2012 Dec 28
2
[LLVMdev] Newbie question(?): How to correctly create debug info, when generating IR
...not exist. In other words, the debugger does not seem to know about the existence of foo.xx, the original source file. I have compiled a small helloworld.c program, and compared the debug info in helloworld and foo, using 'readelf --debug-dump'. I have noticed that in helloworld, the .debug_aranges section has 2 address ranges, - one pointing to a DW_TAG_compile_unit referencing the /sysdeps/i386/elf/start.S file - the other pointing to a DW_TAG_compile_unit with the helloworld,c file. However, in the foo program, the .debug_aranges section has only 1 address range, pointing to a...
2015 May 28
0
[LLVMdev] Generate .debug_info for asm files?
...te the .debug_info section (as well as line number data) when run with "-g". I was wrong, sorry. The issue I am having with GDB is occurring because using ".file" directives with LLVM's assembler doesn't automatically add DW_TAG_compile_unit DIEs to the .debug_info and .debug_aranges sections. (It does with GAS.) When the assembler is run with -g, it does generate the DW_TAG_compile_unit DIEs. There is no problem there. The problem comes when you want to manually include your own debug data using assembler directives. This is useful when the assembler is generated from some...
2013 Apr 16
3
[LLVMdev] RFC: Using zlib to decompress debug info sections.
...GNU gold (GNU Binutils for Ubuntu 2.22) 1.11 $ ./bin/clang++ -g a.cc -Wl,--compress-debug-sections=zlib $ objdump -h a.out | grep debug 26 .debug_info 00000066 0000000000000000 0000000000000000 00002010 2**0 27 .debug_abbrev 00000048 0000000000000000 0000000000000000 00002068 2**0 28 .debug_aranges 00000000 0000000000000000 0000000000000000 000020bb 2**0 29 .debug_macinfo 00000000 0000000000000000 0000000000000000 000020cf 2**0 30 .debug_line 00000053 0000000000000000 0000000000000000 000020e3 2**0 31 .debug_loc 00000000 0000000000000000 0000000000000000 0000213e 2**...
2020 Aug 25
9
[Proposal][Debuginfo] dsymutil-like tool for ELF.
...============= Specifically, the tool would do:   - Remove obsolete debug info which refers to code deleted by the linker     doing the garbage collection (gc-sections).   - Deduplicate debug type definitions for reducing resulting size of binary.   - Build accelerator/index tables.     = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, .debug_pubtypes.   - Strip unneeded tables.     = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, .debug_pubtypes.   - Compress or decompress debug info as requested. Possible feature:   - Join split dwarf .dwo files in a single fil...
2020 Aug 26
3
[Proposal][Debuginfo] dsymutil-like tool for ELF.
...debug info which refers to code deleted by > the linker >      doing the garbage collection (gc-sections). > >    - Deduplicate debug type definitions for reducing resulting > size of > binary. > >    - Build accelerator/index tables. >      = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, > .debug_pubtypes. > >    - Strip unneeded tables. >      = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, > .debug_pubtypes. > >    - Compress or decompress debug info as requested. > > Pos...
2020 Sep 01
2
[Proposal][Debuginfo] dsymutil-like tool for ELF.
...debug info which refers to code deleted by > the linker >      doing the garbage collection (gc-sections). > >    - Deduplicate debug type definitions for reducing resulting > size of > binary. > >    - Build accelerator/index tables. >      = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, > .debug_pubtypes. > >    - Strip unneeded tables. >      = .debug_aranges, .debug_names, .gdb_index, .debug_pubnames, > .debug_pubtypes. > >    - Compress or decompress debug info as requested. > > Pos...
2015 May 28
4
[LLVMdev] Generate .debug_info for asm files?
Dear LLVM devs, I've noticed that LLVM's assembler (and hence clang) doesn't generate debug data when assembling, even when run with "-g". Users can add their own CFI/line number data with assembler directives. But GDB ignores the line number data if you don't have a DIE in the .debug_info section which identifies the compilation unit. (I'm not an expert on GDB, but
2013 Sep 21
2
[LLVMdev] Debug info failing in assembler.
...in() { comm = 6; } This fails on all but the x86 processors. The typical failure looks like this: ... .type comm, at object # @comm .comm comm,4,4 .cfi_sections .debug_frame .bss .L.bss_end: ... .L.debug_abbrev_end: .section .debug_aranges,"", at progbits .long 36 # Length of ARange Set .short 2 # DWARF Arange version number .long .L.debug_info_begin0 # Offset Into Debug Info Section .byte 4 # Address Size (in by...
2020 Sep 02
2
[Proposal][Debuginfo] dsymutil-like tool for ELF.
...linker >>      doing the garbage collection (gc-sections). >> >>    - Deduplicate debug type definitions for reducing >> resulting size of >> binary. >> >>    - Build accelerator/index tables. >>      = .debug_aranges, .debug_names, .gdb_index, >> .debug_pubnames, >> .debug_pubtypes. >> >>    - Strip unneeded tables. >>      = .debug_aranges, .debug_names, .gdb_index, >> .debug_pubnames, >> .debug_pubtypes. >> >&...
2018 Feb 08
2
LLD: targeting cygwin
...AD) : { *(.stabstr) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section. Unlike other targets that fake this by putting the section VMA at 0, the PE format will not allow it. */ /* DWARF 1.1 and DWARF 2. */ .debug_aranges BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_aranges) } .zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) : { *(.zdebug_aranges) } .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_pubnames) } .zdebug_pubnames BLOCK(__section_alignment__) (...
2013 Apr 16
2
[LLVMdev] RFC: Using zlib to decompress debug info sections.
...clang++ -g a.cc -Wl,--compress-debug-sections=zlib >> $ objdump -h a.out | grep debug >> 26 .debug_info 00000066 0000000000000000 0000000000000000 00002010 >> 2**0 >> 27 .debug_abbrev 00000048 0000000000000000 0000000000000000 00002068 >> 2**0 >> 28 .debug_aranges 00000000 0000000000000000 0000000000000000 000020bb >> 2**0 >> 29 .debug_macinfo 00000000 0000000000000000 0000000000000000 000020cf >> 2**0 >> 30 .debug_line 00000053 0000000000000000 0000000000000000 000020e3 >> 2**0 >> 31 .debug_loc 00000...
2014 Feb 19
2
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
...eturn c; > } > > ###################################### > # asm including dwarf debugging info > .file "test.c" > .section .debug_info,"", at progbits > Lsection_info: > .section .debug_abbrev,"", at progbits > Lsection_abbrev: > .section .debug_aranges,"", at progbits > .section .debug_macinfo,"", at progbits > .section .debug_line,"", at progbits > Lsection_line: > .section .debug_loc,"", at progbits > .section .debug_pubtypes,"", at progbits > .section .debug_str,"MS&q...
2020 May 29
4
Range lists, zero-length functions, linker gc
...there are "gaps". > >Agreed that you'd want debug_loc to have the same special handling as >debug_ranges if it has special handling. Though ideally we'd pick a value >that works equally everywhere? (-2, by the sounds of it) > > >> We also fix up lengths in .debug_aranges to zero, although there might be >> history behind that tactic that I’m not aware of; it seems like it ought to >> be unnecessary, if consumers are aware of the special address(es). >> > >Yeah, no idea about debug_aranges... I'd have thought it'd be fine with the &...