Hi! This is a call for testers. Especially on those platforms which are not exactly mainstream. That is: anything outside of one of the popular Linux distros, which I used in a local setup.
The test won't take much time, build instructions are outlined in the README which can be seen in this repo view. The set of shell commands may even work out of the box for most setups. https://repo.or.cz/autotool-experiments.git It'd help to learn whether any of the sigrok supported platforms does not support the constructor attribute, or would not work reliably. In that case either the build fails, or the screen output won't reflect the configured set of drivers. This is how users of "bleeding edge" distros noticed the unexpected build output. More details can be found in bug 1433. Which initially was reported for LTO build configurations, motivated the creation of the autotool-experiments repo, which then turned directions over time. In the current implementation autotools don't matter any longer, and linker magic became obsolete (neither scripts nor sections involved any longer, just the constructor decoration). https://sigrok.org/bugzilla/show_bug.cgi?id=1433 The registration of several driver items from a single invocation (done with an array in libsigrok build instructions) is still missing in this experiment of mine. The current size of the set of drivers (three in total) is limited and may not reliably catch all flaky operation, but extending the set is simple and straight forward. The increased runtime cost is considered negligable, is only paid once during startup, and still is tiny compared to all other init code of the drivers library. If there is a better approach to the creation of the drivers list then tell us more about it. The collection of pointers to driver items by means of a linker segment doesn't count, this is what currently is used, and serious concerns were raised. Neither does the duplication of build instructions (optional dependencies, user specified enable switches) inside C language code, which was used in a past libsigrok implementation, and is tedious to maintain and rather error prone. The linked list in the experiment is used to eliminate the necessity for a fixed size array, where exceeding its size could go unnoticed given the highly dynamic set of drivers and their being optional. Is there some other approach that is as promising as the constructors are? Thank you for helping improve portability and maintenance! virtually yours Gerhard Sittig -- If you don't understand or are scared by any of the above ask your parents or an adult to help you. _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel