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