summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix Mac checkbuild.Ying Wang2015-06-081-0/+3
| | | | | | Bug: 21669400 Change-Id: I54691661605a2e2c1871781964aed343840b8560 (cherry-pick from commit 33c2d441b8f816722bed984c6e12b82b888c3ca2)
* Do not adjust PT_GNU_STACK segmentDmitriy Ivanov2015-05-041-0/+7
| | | | | | Bug: http://b/20687795 Bug: http://b/18051137 Change-Id: Ie8af3892cfbebcc0249e7981284c4ad97ff40317
* Adjust DT_MIPS_RLD_MAP2 valueDmitriy Ivanov2015-04-292-0/+14
| | | | | | | | | | | | DT_MIPS_RLD_MAP2 stores the difference between dynamic entry address and the address of the _r_debug (used by GDB) since the dynamic section and target address are on the different sides of the hole it needs to be adjusted accordingly Bug: http://b/20658994 Bug: http://b/18051137 Change-Id: I4c5e379e8a4c68f029467df6dc660f81a7013a09 (cherry picked from commit 18c935ceabb54a32aff42f99c6d20680ac333157)
* Reduce p_align for program header to page size.Dmitriy Ivanov2015-04-272-2/+8
| | | | | | | | | | | | | | Having p_align > page_size leads to the situation when striping packed executables results in unnecessary p_vaddr adjustments. And it also may result (with probability 1 - 1/sizeof(uintptr_t)) in misaligned segments following .dynstr Bug: http://b/20629834 Bug: http://b/18051137 (cherry picked from commit b293969c6d4acede62ac7b035dcb598e63574ca0) Change-Id: I2fb15cf5cb52fada6511d5af93df099fc2cbf7ba
* Exit normally when relocations are already packed.Dmitriy Ivanov2015-04-242-4/+4
| | | | | Bug: http://b/18051137 Change-Id: Idfffac5fe965e3cdeabe6d3b2dcd8c275c6ae5df
* Exit normally when packing relocs saves no space.Dmitriy Ivanov2015-04-231-1/+1
| | | | | Bug: http://b/18051137 Change-Id: I43ea5678a677e5d39fb54fafcf3a2f3a252c79b0
* Always use signed leb128 encodingDmitriy Ivanov2015-04-2211-317/+50
| | | | | | | | | | | According to runs on /system/lib there using unsigned leb128 does not save us any additional space. In order to keep packing as simple as possible switch to using signed leb128 for everything. Bug: http://b/18051137 Change-Id: I1a47cb9eb2175895b3c3f7c13b4c6b1060de86c0
* Statically link libc++ for prebuiltsDmitriy Ivanov2015-04-221-0/+3
| | | | | | | | Statically link libc++ to relocation_packer in order to make it work from prebuilts Bug: http://b/18051137 Change-Id: I933ed6a0e48780a26b261069eb6a293432824fe7
* Adjust DT_VERSYM/VERNEED/VERDEF dynamic sectionsDmitriy Ivanov2015-04-211-6/+9
| | | | | | | | | | | | | | This is recent addition to bionic linker. The symbol versioning was not supported before therefore this bug went unnoticed. Also normal exit when there is not enought relocations to pack. This is to enable integration of relocation_packer to android build system. Bug: http://b/20139821 Bug: http://b/18051137 Change-Id: Iaf36ae11c8e4b15cf785b6dd1712a3bdcf47cc45
* Also send bionicbb logs to a file.Dan Albert2015-04-171-0/+4
| | | | Change-Id: If9a6fdbe004e3b4bb7d868b7255f83c232759f80
* Merge the two bionicbb services into one.Dan Albert2015-04-176-173/+215
| | | | Change-Id: I6490da1ec96b2e24b330296950be84424e11bd35
* Clean up "logging".Dan Albert2015-04-163-77/+37
| | | | | | | | Print is bad and I should feel bad. Use the logging module instead. Will follow up by adding a persistent log destination instead of just the console. Change-Id: I396ff10712f88a03f8d8183b6de29ea273815962
* Skip merge-failed messages from Gerrit.Dan Albert2015-04-131-1/+3
| | | | Change-Id: I2d8055a44cd78f95e64d6cf88e9efdd610a4fa88
* Don't build any changes that touch bionicbb.Dan Albert2015-04-092-0/+25
| | | | | | | | | Right now any changes in here would be innocuous because I manually update bionicbb, but I'd like to check in the various job configurations. Once I have we don't want anyone to be able to make the buildbot run any untrusted code. Change-Id: Ic050859cd5017615f71c75f995ba21bb45407b05
* Reject changes with cleanspecs.Dan Albert2015-04-063-56/+92
| | | | | | | | Cleanspecs must not be removed once they have been built. This means they can't be reverted, or reliably cherry-picked. Just skip any changes that include them since they make such a mess. Change-Id: I3df8d81f93651d573485de7a75ecf5c6278c0001
* Fix comment drift in assorted relocation packer modules.Simon Baldwin2015-03-265-87/+8
| | | | | | | | | | | Some of the commentary in relocation packer code is relevant only to the packing strategy employed by chromium, and no longer applies here. This change fixes or deletes it. Code comment change only; no functional effect. Change-Id: Id229ee1d802bba608be15b79bc75bf90df557dab Signed-off-by: Simon Baldwin <simonb@google.com>
* Remove unused/unusable relocation packer files.Simon Baldwin2015-03-254-339/+0
| | | | | | | | | | | | | Removes: - src/run_length_encoder.h artifact of the original packing tool, not used here - test_data/generate_elf_file_unittest_relocs.sh - test_data/generate_elf_file_unittest_relocs.py test data generation for chromium/gyp, not usable here - README.TXT because it is now almost entirely outdated Change-Id: Ic4cd372647d9a365dc52833a6cc1cf66f0c95ec9
* Convert result of a call to JSON.Dan Albert2015-03-241-2/+2
| | | | | | | I still had the service that was relying on this running on top of local changes, so this hadn't been a problem yet. Change-Id: I63b45b8c7cf81972dbb7128013c1c777a2342d4c
* Work around a bug in the Jenkins queue API.Dan Albert2015-03-231-2/+4
| | | | | | | | | | | | | https://issues.jenkins-ci.org/browse/JENKINS-27256 1.601 broke the ability to get a build's URL before the build had actually started. The bug is pseudo-fixed, but would require installing a new plugin and fixing the python jenkinsapi plugin for the time being to use /queuefix/ rather than /queue/. Just avoiding logging a URL for now. Change-Id: Ibf90e5887fc4532dac688082ad7729787897da11
* Generalize compression toolDmitriy Ivanov2015-03-0628-2091/+1599
| | | | | | | | | | 1. One binary for all architectures 2. Generalize (and slightly improve) compression 2.1 works on all relocation types (rela?.dyn section only so far) 2.2 Uses same format to encode ElfW(Rel) as well as ElfW(Rela) tables Bug: 18051137 Change-Id: I66c95d9076954ca115816fc577d0f5ef274e5e72
* Import relocation packer from chromium repoDmitriy Ivanov2015-03-0636-0/+5485
| | | | | Bug: 18051137 Change-Id: Ia67fa11da8247e3f86f70a8ce99e6695f2c05423
* Merge "Add support for building other architectures."Dan Albert2015-01-221-1/+16
|\
| * Add support for building other architectures.Dan Albert2015-01-091-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we often make changes that might break on other architectures, let the buildbot deal with some of these for us. They can be invoked by `bionicbb:ARCH`, where `ARCH` is one of: * arm * aarch64 * mips * mips64 * x86 * x86_64 Specifying arm isn't particularly interesting (since the default target for the buildbot is hammerhead), but there are some differences in the math instructions available for the default ARM target, so it could be helpful for testing changes to the compiler-rt builtins. Change-Id: I94018fd3c30d26fcf405e747fc633cbdd08ff4e5
* | Report 404 errors from Gerrit and continue.Dan Albert2015-01-211-0/+7
| | | | | | | | | | | | | | | | | | Currently, we get a 404 from Gerrit in the event that two projects have the same Change-Id. We should be able to handle this and actually cherry-pick each change so we can check multi-project changes, but for now just skip these changes. Change-Id: I7bc63208998d58beec83b71b302450d9be3ea026
* | Check the committer rather than the Gerrit owner.Dan Albert2015-01-123-16/+67
| | | | | | | | | | | | | | | | Guarding based on the Gerrit owner can be circumvented by an arbitrary user uploading a different patch with a Change-Id that is non-unique, with the other copy being owned by a Googler. Change-Id: I5414b679e361d4c38d70bf9c4516c122f668fc49
* | Guard against @google.com.example.com.Dan Albert2015-01-122-2/+30
| | | | | | | | | | | | | | | | Begin adding some unit tests. Testing the Jenkins interface will probably be difficult, but testing that we can properly handle messages from Gerrit is easy enough. Change-Id: Id7e8e175e0f064fd10715febe40040a65564c701
* | Oops. Fix dict key.Dan Albert2015-01-121-2/+2
| | | | | | | | Change-Id: Ia8295417d4097f38eef633089cb4539b849f3c74
* | Only build changes that come from @google.com.Dan Albert2015-01-121-0/+6
|/ | | | | | | | | | | Googlers should be able to tell the buildbot to launch builds for an external contributor's change, but Gerrit is determined to make this hard for us. The email sent by Gerrit for comments doesn't actually contain the email address of the commenter in any clear way, only the name. It does however contain a list of `Gerrit-Reviewer: Name <email>` entries that could be used for this though. Change-Id: Iee61f06dcd8f0024f16b535ea9a34765bf01b2e7
* Make indentation match the style guide.Dan Albert2015-01-094-346/+386
| | | | | | | Apparently Google abandoned the 2 space indent for Python long ago. Helps to actually read the style guide before trying to adhere to it. Change-Id: I4feb019f0916f9d8e4f78c0dbeafbe45d8a46bfd
* Use relative imports.Dan Albert2015-01-093-15/+14
| | | | | | | Making `bionicbb` its own package required `PYTHONPATH=..`, which we don't want. Just use a relative import instead. Change-Id: I59b9852522118ece89829288a4921902e756e4aa
* Add JSON files and oauth storage to .gitignore.Dan Albert2015-01-091-0/+2
| | | | | | | The only JSON file is the client secret file, which we really don't want leaking. Same goes for the oauth storage file. Change-Id: Ie860704574ec37ccfc50ff7c9d59717a7b9b443b
* Make service URLs configurable.Dan Albert2015-01-092-13/+16
| | | | Change-Id: I91df77b7e0294be5e6180460b0ef26d7ead2ea7d
* Check in bionicbb code.Dan Albert2015-01-097-0/+615
These have been sitting around in a git repo on my machine for a while. They're now big an important enough that I'd like to both keep them securely backed up, and also have my changes reviewed. Change-Id: Ic4545149b4b07f0d57b21cac32aab8553dceb567