aokblast wrote:

> This doesn't solve the issue:
> 
> ```
> $ ~/llvm/main/build/bin/lldb prog
> (lldb) target create "prog"
> Current executable set to '/home/mchoo/aux/prog' (x86_64).
> (lldb) breakpoint set -n main
> Breakpoint 1: where = prog`main, address = 0x00000000002016f0
> (lldb) r
> Process 38203 launched: '/home/mchoo/aux/prog' (x86_64)
> Process 38203 stopped
> * thread #1, name = 'prog', stop reason = breakpoint 1.1
>        frame #0: 0x00000000002016f0 prog`main
> prog`main:
> ->  0x2016f0 <+0>: pushq  %rbp
>     0x2016f1 <+1>: movq   %rsp, %rbp
>     0x2016f4 <+4>: subq   $0x10, %rsp
>     0x2016f8 <+8>: movl   $0x0, -0x4(%rbp)
> (lldb) image list
> [  0] DB2ECC80 0x0000000000200000 /home/mchoo/aux/prog
> [  1] A2749E1F 0x000000082219b000 /home/mchoo/aux/libfilter.so
> [  2] D4962071 0x00001572f3b68000 /libexec/ld-elf.so.1
> [  3] 95FF671B 0x000000082264b000 /lib/libc.so.7
> [  4] F5F3BA30 0x00000008232ad000 /lib/libsys.so.7
> [  5] 99116A9F 0x0000000823d13000 /home/mchoo/aux/libfiltee.so
> (lldb) p (char *)foo()
> (char *) 0x000000082219b468 "defined in filter"
> (lldb) continue
> Process 38203 resuming
> foo is defined in filtee: bar is defined in filter
> Process 38203 exited with status = 0 (0x00000000)
> (lldb) quit
> ```
> 
> ```c
> // filtee.c
> const char *foo(void)
> {
>     return "defined in filtee";
> }
> ```
> 
> ```c
> // filter.c
> const char *bar = "defined in filter";
> 
> const char *foo(void)
> {
>     return "defined in filter";
> }
> ```
> 
> ```c
> // main.c
> #include <stdio.h>
> 
> extern const char *bar;
> extern const char *foo(void);
> 
> int main(void)
> {
>     printf("foo is %s: bar is %s\n", foo(), bar);
>     return 0;
> }
> ```
> 
> Compiled with:
> 
> ```
> $ cc -fPIC -shared -Wl,-soname,libfiltee.so -o libfiltee.so filtee.c
> $ cc -fPIC -shared -Wl,-soname,libfilter.so -Wl,-f,libfiltee.so \
>    -Wl,-rpath,'$ORIGIN' -o libfilter.so filter.c
> $ cc -o prog main.c -L. -lfilter -Wl,-rpath,'$ORIGIN'
> ```

Please try this.

https://github.com/llvm/llvm-project/pull/208905
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to