> In general it is far easier to just add sysinit's than to hack directly on > the > kernel linker. There are very few ddb commands, so one extra pointer or two > per command is not a lot of space.
Respectfully, I disagree, for several reasons. First, in order to make sysinit and sysctl work, the kernel linker needed to know that there are a set of elf sections that have special meaning. Yes, using sysinits means that there are still only two elf sections of interest. Second, as I mentioned before, having ddb commands added mixed in with sysinits means that, if I have a bug in my sysinit I may not be able to use some of my ddb commands to debug it. Even if DB_*COMMAND used SI_ORDER_FIRST, any sysinit with the same priority may come first. Next, if you want commands sorted globally, it could be done with either implementation. But I think that commands that are defined by a module should be listed with others from that module. Last, changing struct command introduces a binary compatibility issue. Any older driver that had a ddb command (even if they never realized they couldn't access it) would need to be recompiled. I am not sure of FreeBSD's binary compatibility policy, though, and it would presumably be across a major OS revision number. So this is not a very compelling argument. Thanks, matthew _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"