On Wed, Jun 17, 2020 at 4:13 PM Joe Perches <joe@xxxxxxxxxxx> wrote: > > On Wed, 2020-06-17 at 10:25 -0600, Jim Cromie wrote: > > 1. Add a user-flag [u] which works like the [pfmlt] flags, but has no > > effect on callsite behavior; it allows incremental marking of > > arbitrary sets of callsites. > > > > 2. Add [PFMLTU] flags, which negate their counterparts; P===!p etc. > > And in ddebug_read_flags(): > > current code does: [pfmltu_] -> flags > > copy it to: [PFMLTU_] -> mask > > > > also disallow both of a pair: ie no 'pP', no true & false. > > > > 3. Add filtering ops into ddebug_change(), right after all the > > callsite-property selections are complete. These filter on the > > callsite's current flagstate before applying modflags. > > > > Why ? > > > > The u-flag & filter flags > > > > The 'u' flag lets the user assemble an arbitary set of callsites. > > Then using filter flags, user can activate the 'u' callsite set. > > > > #> echo 'file foo.c +u; file bar.c +u' > control # and repeat > > #> echo 'u+p' > control > > > > Of course, you can continue to just activate your set without ever > > marking it 1st, but you could trivially add the markup as you go, then > > be able to use it as a constraint later, to undo or modify your set. > > Does this set selection also allow for selection by > increasing decimal level? > > Can sites be enabled for a value less than x? > > no, theres no levels added here. that would be a variation on the WIP pr-class patch in v2, dropped from v3 legacy dyndbg - select on RO callsite info only - file, module, func, line. flag state is write only. filterflags - additionally select on callsite's flagstate, ie reading the current flagstate please look at the export patch 15/21 for how I now think levels, and drm.debug=0x03 can be done.