On 05/15/2010 05:39 AM, Rob Landley wrote: > On Friday 14 May 2010 15:54:45 Timo Teräs wrote: >> On 05/14/2010 09:34 PM, Denys Vlasenko wrote: >>> 2010/5/14 Timo Teräs <[email protected]>: >>>> On 05/14/2010 09:22 AM, Rob Landley wrote: >>>>> On Sunday 09 May 2010 09:19:58 Denys Vlasenko wrote: >>>>>> On Sunday 09 May 2010 07:31, Rob Landley wrote: >>>> >>>> While at it, we could get rid of include/applets.h too. One very nice >>>> way would be to use linker section. You can use gcc __attribute__ >>>> section("sectionname") [1] to put the applet definitions to separate >>>> memory area. It is after that possible to iterate over the structures >>>> in that special section using __start_sectionname and __stop_sectionname >>>> symbols which are autocreated [2]. This is also roughly how Linux kernel >>>> initcalls work [3]. >>> >>> This will break ld --gc-sections. >> >> I think ld handles --gc-sections properly if __start_sectionname symbol >> is referenced. If not, using __attribute__((used)) should work. > > Having a script create a human readable source file is something you could > explain to a middle school student with two weeks experience with C. The > tools to do so are standardized by posix, and the versions busybox itself > produces support all necessary functionality. > > Having a magic linker function use vendor-specific extensions in a manner > only > supported on certain toolchain versions is not just non-obvious, but you > yourself aren't sure off the top of your head how you'd have to go about > implementing it, and the explanation you just tried to give is full of non- > obvious conditional requirements.
The above was just to explain that it is supported and well thought mechanism, even if I don't happen to know all the details. Intention was to point that --gc-section is not a problem. But as I already previously agreed, portability is. And so is the sorting issue if we want to do funny sorting or have multiple applets in one file. > Given that the two techniqes produce equivalent results, this doesn't look > like a hard decision... Yes, I've already agreed on this. Instead of flaming the idea, could we move on and concentrate on getting the script done? _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
