Date: Thu, 2 May 1996 17:02:15 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, julian@ref.tfs.com Cc: chuckr@Glue.umd.edu, freebsd-current@freebsd.org, joerg_wunsch@uriah.heep.sax.de, terry@lambert.org Subject: Re: execve Message-ID: <199605020702.RAA00668@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> OTOH, it would be easy to change config to emit: >> >> static const struct execsw aout_execsw = { exec_aout_imgact, "a.out" }; >> ... >> const struct linker_set execsw_set = { >> ... >but you'd have to educate config about every kind of linker set and >adding a new one would require changing config.... >yuk There are actually only a few kinds of linker sets (for TEXT and DATA, etc). In the above example, the execsw structs are actually in the individual modules and config would only need to emit the linker_set struct. There would have to be declarations in files[.machine] to tell config what to emit. E.g., kern_imgact.c standard TEXT_SET(execsw_set, aout_execsw) This is the same as now except the TEXT_SET() declaration is in /sys/conf/files instead of in the individual file. The advantages of this approach is that you're not limited to objects that can be built as linker sets, and you can see all the possible and configured objects in central places in the sources (in files[.machine] and in the generated sources). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605020702.RAA00668>