Re: [PATCH v6 7/8] dynamic_debug: add asm-generic implementation for DYNAMIC_DEBUG_RELATIVE_POINTERS

From: Rasmus Villemoes
Date: Thu Jun 20 2019 - 16:46:14 EST


On 18/06/2019 00.35, Nick Desaulniers wrote:
> On Mon, Jun 17, 2019 at 3:20 PM Rasmus Villemoes
> <linux@xxxxxxxxxxxxxxxxxx> wrote:
>>
>> It relies on
>>
>> (1) standard assembly directives that should work on
>> all architectures
>> (2) the "i" constraint for an constant, and
>> (3) %cN emitting the constant operand N without punctuation
>>
>> and of course the layout of _ddebug being what one expects.
>>
>> Now, clang before 9.0 doesn't satisfy (3) for non-x86 targets.
>
> Thanks so much for resending with this case fixed, and sorry I did not
> implement (3) sooner! I appreciate your patience.
> Acked-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
>
> I'm happy to help test this series, do you have a tree I could pull
> these from quickly?

I've pushed them to https://github.com/Villemoes/linux/tree/dyndebug_v6
. They rebase pretty cleanly to just about anything you might prefer
testing on. Enabling it for arm64 or ppc64 is a trivial two-liner
similar to the x86 patch (and similar to the previous patches for those
arches). Thanks for volunteering to test this :)

> Anything I should test at runtime besides a boot
> test?

Well, apart from booting, I've mostly just tested that the debugfs
control file is identical before and after enabling relative pointers,
and that enabling/disabling various pr_debug()s by writing to the
control file takes effect. I should only be changing the format for
storing the metadata in the kernel image, so I think that should be enough.

While this is still not merged, some new user of one of the string
members could creep in, but that should be caught at build time.

Rasmus