This repo contains a bunch of scripts which can be useful for typical toolchain/distro maintenance tasks:
boilerplate/*
: boilerplate codes for various languagesclang-format-all
: format files from top commit via clang-formatconfigure-build-install
: configure, build and install a typical Autoconf projectcpptags
,pytags
: wrappers forctags
to generate tags for different languagesdeja-compare-checks
,gcc-compare-checks
: compare two sets of Dejagnu reportsfind-binaries
: find all binary files in foldergcc-build
,llvm-build
: build compilersgcc-bootstrap-and-regtest
: test a single GCC change (builds compiler, runs testsuite and compares results)gcc-bisect
: bisect GCC regressiongcc-debug
: debug GCC compiler proper instead of drivergcc-predefs
: print predefined GCC macrosgcc-tags
,llvm-tags
: set up ctags for GCC/LLVM source dir (avoiding irrelevant subdirs and respecting supermacro)gcov-tool-many
: applygcov-tool
to more than 2 filesgdb-qemu
: debug program under QEMUgit-all
: run Git command in all repos in current foldergit-bareize
: convert normal git repo to bare formatgit-reset-dates
: change date of last N commitsgnu-compare-projects
: compare ChangeLogs of two OSS projectsinsert-license-header
: insert license header into all files in a folderlddr
: recursively applies ldd to all files in folder (and its subfolders)llvm-collect-logs
,llvm-splitlog
: generate Clang debug logsllvm-classify-error
: print short summary of LLVM error logllvm-print-fatpoints
: print fatpoints from LLVM MIR dumpllvm-print-crit-path
: print critical path from based on MachineScheduler's dumpmangle
: mangle function prototype (primitive types only)py-lint
: wrapper aroundpylint
to make it more usableplot-percentiles
: a simple pyplot-based script which plots percentile-based benchmark summariesstraces
: open straces of all child processes in editortouchall
: unify times of all files in folderupdate-copyrights
: update copyright comments in all files in a folder
All the code is MIT-licensed.