[llvm] [dsymutil][DWARFLinker] Refactor handling mergeable libraries. (PR #80615)

Alexey Lapshin via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 24 10:02:51 PDT 2024


avl-llvm wrote:

> Additionally, there is on outstanding thing, regarding compatibility with linking dSYM produced before the changes. I attached a fairly straightforward reproducer in [relink.tar.gz](https://github.com/llvm/llvm-project/files/14726712/relink.tar.gz). Replace the dsymutil paths with your local ones, and run `make mrproper && make all-relink && make mix && make strip && lldb`. You can see how some external data has an incorrect type:
> 
> ```
>    8   	{
>    9   	  int result = foo();
> -> 10  	  printf("FOO %d\n", result + baz - altfoo());
>    11  	  display();
>    12  	  return 0;
>    13  	}
> Target 0: (relink) stopped.
> (lldb) p baz
> (void *) 0x0000000000000003 // <- should be int
> ```

Thank you for the testcase. I do not have a machine with XCode15 installed to check it right now. I would search for the machine and update the patch.

https://github.com/llvm/llvm-project/pull/80615


More information about the llvm-commits mailing list