NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-sparc/58352: ld: /usr/lib/libubsan.so: undefined reference to `__sync_val_compare_and_swap_8'



On 2024/06/20 2:04, matthew green wrote:
Yeah, this is just what I tried. It works at least on i386, but
diff is *really* large:

https://gist.github.com/rokuyama/24d0ed7e537fffc07e2975c3880817f1

i don't think this is that large.

the only thing i'd really prefer would be to move the define
for SANITIZER_NO_64BIT_ATOMIC_OPS from the Makefile into a common
header such that you can define SANITIZER_STATE_T like you have.

in the common header (not sure which one off hand), inside a
SANITIZER_NETBSD section, check for our __HAVE_64BIT_ATOMIC_OPS
or whatever it is, and define SANITIZER_NO_64BIT_ATOMIC_OPS to
suit...

I got it! I will rework the patch.

I've confirmed that the original patch can be cleanly
applied to recent -current. ubsan works just fine for i386,
powerpc, and vax (with WIP patches). asan also works for i386.

i think this is do-able.  it's slightly more diffs than the
current ones in gcc/dist/libsanitizer, but most of it is one
bigger chunk, and all of them are fairly simple conversion
(u64 -> SANITIZER_STATE_T), so keeping it in the future would
not be too hard.  (it only adds about 4% to the total in all
of gcc/dist.)

Oops > 4%. Let me thank you again for your continuous efforts to
make GCC up to date!

On 2024/06/20 4:29, Martin Husemann wrote:
> And then (for bonus points) try to push the u64 -> SANITIZER_STATE_T change
> upstream :-)

Yeah, I hope :)

Thanks,
rin


Home | Main Index | Thread Index | Old Index