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 18c935ceab)
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 b293969c6d)
Change-Id: I2fb15cf5cb52fada6511d5af93df099fc2cbf7ba
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++ to relocation_packer in
order to make it work from prebuilts
Bug: http://b/18051137
Change-Id: I933ed6a0e48780a26b261069eb6a293432824fe7
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
Making `bionicbb` its own package required `PYTHONPATH=..`, which we
don't want. Just use a relative import instead.
Change-Id: I59b9852522118ece89829288a4921902e756e4aa
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
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