clang options for load segments

Paul Floyd pjfloyd at wanadoo.fr
Tue Mar 2 19:37:28 UTC 2021


On 3/2/21 7:31 PM, Dimitry Andric wrote:

[snip - history of change]

>> I will carry on looking for a proper solution. In the meantime, are there any flags to revert to the previous behaviour
>> and only generate a single RW LOAD segment?
> I think valgrind should be fixed to able to cope with additional
> segments, but I haven't seen valgrind working on FreeBSD for years now,
> so I am not going to hold my breath. :)


I'll work on fixing it in Valgrind, but that is likely to be fair amount 
of work.

No need to hold your breath. Concerning the FreeBSD port I've been 
working on Valgrind on FreeBSD for about a year or so and now it's not 
too far from working as well on FreeBSD as it does on Linux*.

Either install the devel/valgrind-devel package (note: not 
devel/valgrind) or even better build and install from my github repo 
https://github.com/paulfloyd/freebsd_valgrind. I have a commit bit for 
upstream Valgrind and am working on integrating FreeBSD support in the 
'official' Valgrind. This probably won't be in the next release, 3.17, 
due soon, but I hope that it gets into the next one (3.17.1 or 3.18). 
And I'm always on the lookout for any user feedback :-) .

>
> That said, you can attempt to link your executables with -z norelro (or
> -Wl,-z,norelro via the compiler driver). If there is no PT_GNU_RELRO
> header, lld will not split the segments.

This seems to do the job as a workaround, thanks.

A+

Paul


* rust, OMP, clang debuginfo and some signal issues  being the 
exceptions that I'm aware of



More information about the freebsd-toolchain mailing list