search for: n_valu

Displaying 5 results from an estimated 5 matches for "n_valu".

Did you mean: n_value
2014 May 28
2
[LLVMdev] MCJIT Mach-O JIT debugging
...909ddd04e6d7e9a5d0 . I have a corresponding patch for lldb and I basically got this working (modulo line table information, though I'm sure I'm doing something stupid in lldb here). The basic approach is to, when a section gets allocated rewrite the sections `addr` and update every symbols `n_value` correspondingly. This is very much in line with what is done for ELF, but I'm not sure if it's the right approach, so I'd appreciate if somebody who has more experience with Mach-O could look at the above patch and give some feedback. If this approach looks sane in general, I'll f...
2014 Jun 02
2
[LLVMdev] [lldb-dev] MCJIT Mach-O JIT debugging
...ve a > corresponding patch for lldb and I basically got this working (modulo line > table information, though I'm sure I'm doing something stupid in lldb here). > > The basic approach is to, when a section gets allocated rewrite the > sections `addr` and update every symbols `n_value` correspondingly. This is > very much in line with what is done for ELF, but I'm not sure if it's the > right approach, so I'd appreciate if somebody who has more experience with > Mach-O could look at the above patch and give some feedback. If this > approach looks sane in...
2014 Jun 02
2
[LLVMdev] [lldb-dev] MCJIT Mach-O JIT debugging
...d7e9a5d0 . I have a corresponding patch for lldb and I basically got this working (modulo line table information, though I'm sure I'm doing something stupid in lldb here). > > The basic approach is to, when a section gets allocated rewrite the sections `addr` and update every symbols `n_value` correspondingly. This is very much in line with what is done for ELF, but I'm not sure if it's the right approach, so I'd appreciate if somebody who has more experience with Mach-O could look at the above patch and give some feedback. If this approach looks sane in general, I'll f...
2020 May 26
2
Emitting aligned nlist_64 structures for Mach-O in MC
I looked into this further. ld64 has a macho_nlist abstraction over the various underlying nlist structures [1]. On x86-64, the P::getP referenced in n_value will resolve to [2], which in turn goes to [3], which calls OSReadLittleInt64. On a little endian machine, OSReadLittleEndian just calls _OSReadInt64 [4], which in turn does a pointer arithmetic and cast and then dereferences the pointer [5]. As far as I can see, this will invoke UB for an unalign...
2020 May 26
2
Emitting aligned nlist_64 structures for Mach-O in MC
As part of our work on LLD for Mach-O, we’ve observed that the object files produced by LLVM don’t always have aligned nlist_64 entries. For context, nlist_64 is the 64-bit symbol table entry structure for Mach-O, and the symbol table is an array of nlist_64 entries. nlist_64 has an 8 byte member, so it should be 8-byte aligned, but we’ve seen object files where the symbol table only has a 4-byte