> + print(s.format(basename, bad_occurances_count, tjr: and the check should look something like $(TOOLCHAIN_PREFIX)readelf -sW | awk '$7 = "UND" )' tjr: you probably want to put a check into the rule for rust target libraries: my gut feeling is that there shouldn't be too many false positives and if there are false positives, that probably means the crate functionality needs to be split up would you be able to point me where to start putting some object file investigation work? Well as a starting point I guess we can see how many occurances of the third party crate problem we have. Would it be crazy to suggest modifying the object file (or preprocess the crate) to swap those functions out to call stub_socket or whatever and provide implementations that runtime abort? And modifying third party crates is quite a maintenance burden. i'm not sure if that wouldn't produce false positives right now, though, since we might be compiling crates that have networking code that we're not using? (This kind of sounds like what froydnj just said.) Can we look for particular symbols that are scary and abort or something? Those object files must have symbols they need from other libraries. When we're compiling the rust code we're making object files that will eventually get merged (linked?) into the resulting library (xul). So let me speculate wildly about things that I don't really know how they work. could we just lint the rust staticlib(s) for things we don't want to see? won't solve dlopen issues, but would be a good first step? i'm not sure there's going to be a sensible way to enforce this for just rust code so we'd have to ensure that we made the existing networking code in Firefox work with it first we could definitely use the same techniques we use to replace malloc and abort to replace stuff like socket / connect, but that'd apply to all of libxul We talked about this a bit today and established at least the next step forward:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |