Mike Kupfer wrote:
> I'm a little confused.  Are you using the .NOT mechanism so that your
> mapfilechk code will avoid known files?  Or are you creating an actual
> .NOT file that lists the things mapfilechk must skip?  Assuming we fix
> the path issue in Cadmium, what will users see after your putback?
> 
> mike

Hi Mike,

    I over simplified my description in order to focus on the defect
in Cadmium. The short answer is that I'm using the .NOT
mechanism to avoid known files, but am not creating an actual
.NOT file.

Let me fill in some details now...

I've been working with Mark Nelson to figure out how to
solve this problem. The issue is to avoid known files
that have a name containing 'mapfile', but which should not
be subject to the mapfilechk. This is a short list of things:

        - Files that are not actual linker mapfiles
         - A couple of template mapfiles that are processed
          via their makefiles to generate mapfiles (mdb, libelfsign)
        - A small number of mapfiles that don't set any versioning
          information, but rather, are just tweaking segment attributes.

The .NOT mechanism is used to do this, but not in its current form.
We're adding a directory in the root of the workspace named
'exception_lists', inside of which can go files with the name
of the tool for which they are an exception. There are some small
changes to cadmium that Mark helped me put together that do
this. The reason for doing it is so that the exception lists
will not be hardwired with  the tools --- The same set of tools
can then be used for multiple gates for unrelated products. Also,
this is a general mechanism, not specific just to mapfilechk.

My current workspace is available for examination, for those
who are on SWAN:

        /net/rtld.central/local/6785284/work

It's not ready for review (only half done, still contains some
experiments and debugging), but to get a quick sense of what's
going on, here's a webrev:

        file:///net/rtld.central/local/mapfiles/work/webrev/index.html

I'll put a more polished webrev out for everyone soon, once it's
more polished and ready.

As to what users will see, it's basically a version of cddlchk that
tests for link-editor mapfile comment described in

        6785284 Mapfile versioning rules need to be more visible to gatelings

instead of the CDDL license text.

In the usual case, where the user has properly modified mapfiles,
or has not modified any mapfiles at all, all a user would see is
an additional line of output from 'hg nits' or 'hg pbchk' that
looks like:

        Mapfile comment check:

If a modified mapfile is missing the required comment, or the comment
is not exactly right, then the user will see a warning about that,
much as with cddlchk.

If one of the excluded files gets modified (rare case), then the gateling
who made the change will see a "skipped" message, once again, much like cddlchk:

     % hg mapfilechk
     Mapfile comment check:
     Skipping exception_lists/mapfilechk...
     Skipping usr/src/lib/README.mapfiles...
     Skipping usr/src/tools/scripts/mapfilechk.1...

This last case is the one that needs the fix to cadmium.

- Ali

Reply via email to