how clang merge strings in .rodata section

I think -fno-merge-all-constants is the option you are looking for. Either that or -fno-global-merge. More information about these options at [0]. The GCC docs for this option [1] also note that constant merging is not standards compliant. However, I have never seen a program in the wild where this type of merging causes problems.

  [0]: Clang command line argument reference — Clang 16.0.0git documentation
  [1]: Optimize Options (Using the GNU Compiler Collection (GCC))