Hi, On Qui, 2015-07-02 at 11:55 -0400, Adam Jackson wrote: > On Thu, 2015-07-02 at 16:24 +0100, Jonathan Underwood wrote: > > On 2 July 2015 at 15:49, Adam Jackson <ajax@xxxxxxxxxx> wrote: > > > Following up on the hardened cflags change in F23, I wanted to gather > > > some statistics on the actual impact: what the most impacted packages > > > and apps are, what the typical overhead is like, etc. The results > > > are... unpleasant, > > > > [snip] > > > > Impressive data mining.. for those following along for educational > > purposes, care to share the scripts you used for this someplace? > > I didn't really write down the shell pipelines I used as scripts up > front. But it was something along the lines of: > > # grab stuff from rawhide > % koji -q list-tagged-pkgs f23 | awk '{ print $1 }' | \ koji: error: Unknown command: list-tagged-pkgs Do you mean koji -q list-tagged f23 | awk '{ print $1 }' ? A big aside question , F23 mass rebuild was for all packages ? if not what was the list for F23 mass rebuild ? I'd like to know to apply the same rule on a third party repository Thanks, > > xargs -n1 -P4 koji download-build --arch x86_64 > > # unpack > % echo *.rpm | xargs -n1 -P4 rpmdev-extract > > # grind away everything that isn't an elf file > % cat > elf-p > #!/bin/sh > file -b "$1" | grep -q ELF > ^D > % chmod u+x elf-p > % find . -type f \( -exec elf-p {} \; -o -delete \) > > # nuke everything that's not a dynamic ELF object > % find . -name \*.o -delete > > # Check if a binary was not linked with -z now > % find . -type f | while read i ; do > > eu-readelf -d "$i" | grep -q BIND_NOW || echo $i > > done > > # Find the ten packages with the most non-now objects > % !! | cut -f1 -d/ | sort | uniq -c | sort -nk1 | tail -10 > > etc. I'm getting the details wrong there regarding paths containing > spaces, but it turns out there are any elf files in such paths. Also > this is probably a lot faster if you trim each package as you unpack it > rather than force it all out to disk. > > What I _am_ going to need to really write is some tools to inspect > entire loaded object trees for relocation cost and useless linkage, at > which point shell is clearly the wrong language to be using. > > - ajax > -- Sérgio M. B. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct