• Home
  • History
  • Annotate
  • only in /frameworks/compile/linkloader/include/impl/
History log of /frameworks/compile/linkloader/include/impl/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
aaf2b9cdd3b76565d5f194ce52032d38849e0a17 25-Mar-2012 Shih-wei Liao <sliao@google.com> Minor fixes: Addressed the comments.

Change-Id: I77272e75addffb27e6c6c5ef914a681d79847dae
LFObject.hxx
6cf155a77c693c51ab9d4b1cf29f0fa898afd1c9 23-Mar-2012 Logan Chien <loganchien@google.com> Find the symbol with the callback for R_ARM_ABS32.

Change-Id: Ibe622b6ace3b01281a6b28a28728b227cac6fa1d
LFObject.hxx
56ca447beb2f9d893d9c3dbee5c46090e929529b 02-Mar-2012 Shih-wei Liao <sliao@google.com> Code cleanup.

Change-Id: I843b676e28865bd24a020259ee8b52faa32be819
LFObject.hxx
59411237b1aacabd1dbe36cb4b073a4ac9caab6d 02-Mar-2012 Shih-wei Liao <sliao@google.com> Fix R_..._CALL. Add T:testcases.

Change-Id: Icbce6457f903d36ea9b502c179e9179df9b93217
LFObject.hxx
73a5c6a51848031900df4dd2a9cd2314cac838bc 02-Mar-2012 Shih-wei Liao <sliao@google.com> LLVM no longer generates R_ARM_NONE.

Change-Id: Ic0c2681b0a7fd57e9d9c514361d98d12dc1563e8
LFObject.hxx
e8d2d07e1f060d434a475944e714bf8e00caf754 02-Mar-2012 Shih-wei Liao <sliao@google.com> Align section boundary to 4 bytes.

Change-Id: Ib3d6041cf962247e705c50ecf9960affef9477ef
LFSectionProgBits.hxx
2a7f249060179fdcb49f240bdf349c4e7b896084 02-Mar-2012 Shih-wei Liao <sliao@google.com> Support:T.

Change-Id: Ib54a93ea6d6a63df710679b70aab67feb578e67d
LFObject.hxx
LFSectionRelTable.hxx
8d2a1230eae323981b4f6e03406e801a51018432 26-Feb-2012 Logan Chien <loganchien@google.com> Cast void* type to intptr_t before we cast it to int32_t.

Change-Id: I1d55bcc8784401ffe07f3b40761877ee02302f84
LFObject.hxx
50b814ae8797a929bc0416d6a97e3551b24eaf30 02-Feb-2012 Stephen Hines <srhines@google.com> Check for unresolved symbols before returning executable.

BUG=5955072

Change-Id: Ia2a260003ba2e8ca0bfb68154fb5f306148ac5a0
LFObject.hxx
9ed73923af9db7283a8c76b5dfa2dda5b732a852 14-Jan-2012 Andrew Hsieh <andrewhsieh@google.com> Remove hard-wired dependency on __mips__ in ELFSymbol_CRTP<>::getAddress()

Change-Id: I5bc2eca34c6548b0ea678280ef8f017383c869d0
LFObject.hxx
LFSymbol.hxx
4584cb1a038895f1a9a144bbdb293613373b24ad 24-Nov-2011 Chao-ying Fu <fu@mips.com> Fixed AHL calculation.

Change-Id: Iad80b33d9c490088e664c3b7a9e4c91e09b6448c
LFObject.hxx
0a2be45c942a83bb70a7cf1b7355db73cd30f9b9 23-Nov-2011 Chao-ying Fu <fu@mips.com> Fixed relocation types and added GOT supports.

Change-Id: I7803a4f6a52a237b16c67adc09948705d4fc5533
LFObject.hxx
LFSectionRelTable.hxx
LFSymbol.hxx
95e268da2bed2717842da7a2ed1d7c1269f0ee66 22-Nov-2011 Logan Chien <loganchien@google.com> Remove unused debug code.

Change-Id: I26d1eccf96dc1557cf2663561a8ee2b5c96bdca8
LFSymbol.hxx
72dca268900fa25946bade332f0fbdc2c2ff9487 22-Nov-2011 Andrew Hsieh <andrewhsieh@google.com> Enhance to relocate cross-compiled binary

Change-Id: I070a3a8a2d1d5f5b18e4062a299ecc9cb5e92a51
LFObject.hxx
LFSectionProgBits.hxx
LFSymbol.hxx
ec5d468bb925d7fe1aaa47b0cc4f084017531746 18-Nov-2011 Logan Chien <loganchien@google.com> Surpress pointer to uint32_t cast warning.

Since these code is only for ARM architecture, we should use
32bit unsigned integer to store address. However, this casting
may cause compilation warning on the other platform. So we are
going to cast to uintptr_t then truncate to uint32_t.

Change-Id: I5f43f57306e2a1eac75708dd59fd8599d046aad9
LFObject.hxx
43db194a094f3ee594bfab5e322961fa30da59c9 17-Nov-2011 Shih-wei Liao <sliao@google.com> Fix linker bug where addend != 0 for High16 and Low16.

Change-Id: I74b3b87741952b0b441bd440630b4e92b2a9c0a1
LFObject.hxx
7cea0a041b87afe2c5ad5f26e6a89494d0819bd1 16-Nov-2011 Logan Chien <loganchien@google.com> Fix "still too far" bug.

Before this commit, we are only generating stubs for external
functions. However, it is possible that two PROGBITS sections
are far from each other, and result in "still too far" assertion
failure. In order to fix this problem, we have to generate
stubs for both internal and external functions.

Change-Id: I27adf50abf508c80fdedc36e97f288b123ccb22d
LFObject.hxx
LFSectionProgBits.hxx
LFSectionRelTable.hxx
9f4c28af2b830f6400c32d1f481e680346bbf33f 12-Nov-2011 Shih-wei Liao <sliao@google.com> Conform to PP 4-16 to 4-19 in http://www.sco.com/developers/devspecs/mipsabi.pdf.

Fix to allow Bit 15 overflow.

Change-Id: I9ff679ffba3b6139d929291e6d857d03d57cece4
LFObject.hxx
2ffd160f255552e33f4b393d3097a3525e204634 11-Nov-2011 Shih-wei Liao <sliao@google.com> Fix relocations in linking loader.

Remember to flush cache when needed. Otherwise I-cache and d-cache may become
incoherent.

Change-Id: I47f1745ff6e9fc3600cff783f27a2c566fc4b05f
LFObject.hxx
52b519a2d1b0a29b8e76230ee7f9625fd25dda2a 28-Sep-2011 Andrew Hsieh <andrewhsieh@google.com> Add relocation to movw/movt of external global

Change-Id: I889b55388eba0d4ef587d5247754d8ecb6ea32b3
LFObject.hxx
b1a853b0e8639be08bc06594e092f3697c1ddd06 08-Aug-2011 Shih-wei Liao <sliao@google.com> Get the align info for COMMON symbols.

BUG=5057160.
Tested on x86, crespo and stingray.

Change-Id: I4a28604a8412d08f2636e2e470793887973666c7
TODO: I did a workaround for .lcomm directives bug of LLVM ARM MC code
generator. Remove this when the LLVM bug is fixed.
TODO: Need to refactor initSHNCommonDataSize.
LFObject.hxx
LFSymbol.hxx
768a6e8961ae16a5bcf6cab2b21405306b259a0b 08-Aug-2011 Shih-wei Liao <sliao@google.com> Count size for common variable before relocate.

BUG=5057160.
Tested on x86, crespo and stingray.

TODO: I did a workaround for .lcomm directives bug of LLVM ARM MC code
generator. Remove this when the LLVM bug is fixed.
TODO: Need to refactor initSHNCommonDataSize.

Change-Id: I060c5306586224ddb92e79744c80f2a5925b3dff
LFObject.hxx
fa06e91015017e8d0627d26a88e2a575643bec11 22-Jul-2011 Shih-wei Liao <sliao@google.com> Move stubs from ELFObject to ELFSectionProgBits by TDY

Text section problem in BUG=5057160.
Tested on x86, crespo and stingray.

TODO: Not every section need stub.
TODO: May not be able to call getExternFuncCount() every progbits section.
TODO: May be too many stubs

Note that every .text section should have its own stub.

Change-Id: I4a98ed51cc7b171b96840430198bd15409978014
LFObject.hxx
LFSectionProgBits.hxx
e4742793dcba49887f90011fc7a3a858cf70a8cf 17-Jul-2011 Shih-wei Liao <sliao@google.com> Ensure that only the path today that supports mode-switching (ARM/Thumb2) is exercised.

BUG=5039224, 5036610, 5036755

Change-Id: Ie2b7562f18fa50373838139f1d049cafeabe1b52
LFObject.hxx
1045a1dabf49181e7cba2e37a891799ba9055d9f 01-Jul-2011 Logan Chien <tzuhsiang.chien@gmail.com> Rewrite the workaround for misalignment.

Previous workaround caused RsBenchmark crashed. This is because
the inconsistency of the symbol address and relocation address.
In the old patch, the relocation hole will be filled with new
aligned address, while the relocation process will committed on
old address.

This new workaround is based on the observation that ".lcomm"
directive bug will only affect .bss section (NOBITS). Besides,
.bss section itself needs no relocation. So it is OK to allocate
16-byte aligned memory for .bss section.
LFSymbol.hxx
aa989ef2e7e983ee09d0b4e02f6189da26117198 01-Jul-2011 Shih-wei Liao <sliao@google.com> Build NameMap early.

Change-Id: Ic1e3a992e8a0f9ef30ff2016871eeda165b041b7
LFObject.hxx
9d7e2ca48de8bfc839f6c0f61cf0d70c36546124 01-Jul-2011 Logan Chien <tzuhsiang.chien@gmail.com> Mark as inline function.
LFSectionSymTab.hxx
783eac3300b33db8d654dffc4effae8be458e5b5 01-Jul-2011 Logan Chien <tzuhsiang.chien@gmail.com> Reorder the function (Code cleanup)
LFSectionSymTab.hxx
1afb83e8507d8285b12826c7693821e3f25d8d8b 01-Jul-2011 TDYa127 <a127a127@gmail.com> Add some assert for ".symtab".
LFObject.hxx
167b7f684354d1702aac0b3efd76c790cda3e837 01-Jul-2011 TDYa127 <a127a127@gmail.com> Add inline for some function in .hxx.
LFSectionSymTab.hxx
32f7d036daa15302abd64e94fcb2dc718b375020 01-Jul-2011 TDYa127 <a127a127@gmail.com> Use llvm::StringMap for name lookup.
LFObject.hxx
LFSectionHeaderTable.hxx
LFSectionSymTab.hxx
404833ada8caa7027105bd52bd36ab7822030369 18-Jun-2011 TDYa127 <a127a127@gmail.com> Use llvm/Support/ELF.h.
LFObject.hxx
LFSymbol.hxx
388f443ba0c474ffcc2e06f8d2a668c4488c3c1b 01-Jul-2011 Logan Chien <tzuhsiang.chien@gmail.com> Expose the interface for function name listing.
LFSectionSymTab.hxx
e0536b5e8bcf923e7f4bdb99674f4a3466676906 30-Jun-2011 Shih-wei Liao <sliao@google.com> Log clean-up.

Change-Id: I91e4ab1eaa83f13eaec30de116fedb6f957d9e3a
LFSymbol.hxx
05e32eaea2031234736b384f72bfb82384ba61c2 21-Jun-2011 Shih-wei Liao <sliao@google.com> Debugging carousel.

Change-Id: I341e9c5479b501b2e67766e7b01e2d88e847be60
LFSymbol.hxx
ee6cdb95525abc8c7766798148302306a100b774 20-Jun-2011 Shih-wei Liao <sliao@google.com> Add prologue to implementation directory.

Change-Id: I6b9bcd549ac225811746fbc0037d4292c7a85ba9
LFHeader.hxx
LFObject.hxx
LFReloc.hxx
LFSection.hxx
LFSectionBits.hxx
LFSectionHeader.hxx
LFSectionHeaderTable.hxx
LFSectionNoBits.hxx
LFSectionProgBits.hxx
LFSectionRelTable.hxx
LFSectionStrTab.hxx
LFSectionSymTab.hxx
LFSymbol.hxx
e1098159e6e99d941b89044c398c270965e90ce1 17-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Workaround for LLVM MC .bss mis-alignment issue.
LFSymbol.hxx
f1bac53ec8d1c561bb9c0d82577f8afb51cfc6b0 14-Jun-2011 TDYa127 <a127a127@gmail.com> Add ARM relocation type: R_ARM_ABS32.

I didn't test this relocation type.
LFObject.hxx
f3f63d6ded54ea520f5066979b53c2356092692d 14-Jun-2011 TDYa127 <a127a127@gmail.com> Add X86_64 relocation type: R_X86_64_64.
LFObject.hxx
LFSymbol.hxx
a13b6909c66260aabbcd32b6519d05e469881141 14-Jun-2011 TDYa127 <a127a127@gmail.com> Relocate all relocatable section.
LFObject.hxx
c40d8a8b26547ab9c51792d9d9b3aca13fb5cdf9 14-Jun-2011 TDYa127 <a127a127@gmail.com> Change assert to rsl_assert.
LFObject.hxx
LFSectionHeaderTable.hxx
LFSectionRelTable.hxx
LFSectionSymTab.hxx
LFSymbol.hxx
49567d1b850754d514faaf1f2e0b35fe33b2a126 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split MemChunk to independent compilation unit.
emChunk.hxx
9f64da291148a9c09bef5d062e9047bff64f56b9 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Implement our own memalign.
LFSymbol.hxx
3e262e0c44861b9c615e2843a83a354a42c0dde7 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Initialize the SHN_COMMON object to 0.
LFSymbol.hxx
b2584ebd9eff677283b23ab762ef411fe16ba22d 13-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Add "Don't auto allocate" mode for ELFSymbol::getAddress.
LFSymbol.hxx
af00672c2808a64f6176a984b56a629d3b4e43c4 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Fix bug: MemChunk was not initialized on x86.
LFSectionProgBits.hxx
2061b057e0922ac33b9314c1ccaa50eb7286b847 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Implement a new stub allocation policy.

The new allocation policy will allocate the stub table with
the .text section. So that we can guarantee that the stub will
be near enough.
LFObject.hxx
LFSection.hxx
LFSectionProgBits.hxx
74f7a939f44d926babd52f59978e6b093e4bb2d0 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Extract MemChunk for ELFSectionBits.
LFObject.hxx
LFSection.hxx
LFSectionBits.hxx
LFSectionNoBits.hxx
LFSectionProgBits.hxx
emChunk.hxx
e586f183e46f921301281352a87f67dbdc1a43b6 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Add getExternFuncCount to count external function symbol.
LFSectionSymTab.hxx
8fd2076f982ce042731a965a2e62309c51713814 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Cleanup ARM extern function relocation code.
LFObject.hxx
ddd3e1ce7bddc792b89cd23cbe0150c57c97e70a 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Fix incorrect jump-too-far condition.
LFObject.hxx
71884036ac3215a7cb9f6f95bd0902efbb344071 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Eliminate a variable unused warning.
LFSymbol.hxx
4e4356b34f9751070ac8ccb1bb74bb44e9232661 12-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Chagne the parameter order of find symbol callback.
LFObject.hxx
71e5a4a2fa18ff55b1e04e73b70b2938150a143c 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Fix bug: Alignment should compliant to ABI.
LFObject.hxx
LFSection.hxx
00e067ef50c860668ed67003309d5ae71aa02b32 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Change the naming convention.
LFSectionStrTab.hxx
9846416aa118f262356da2e3a391d8334d893e3c 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Strengthen the correctness constraint of ELF.
LFSectionHeaderTable.hxx
58611fc8193e7386698178f167a2e0cbdd6a4f6f 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Use shorter ELF structure name.
LFObject.hxx
LFReloc.hxx
LFSection.hxx
LFSectionBits.hxx
LFSectionHeader.hxx
LFSectionHeaderTable.hxx
LFSectionNoBits.hxx
LFSectionProgBits.hxx
LFSectionRelTable.hxx
LFSectionStrTab.hxx
LFSectionSymTab.hxx
LFSymbol.hxx
68aab0239525454d17465d927028cdbd2bfd2969 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Code cleanup.
LFSectionRelTable.hxx
8e233aace27dd4c658db39ddd223bdc21121a4f2 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionStrTab.h into declaration and implementation.
LFSectionStrTab.hxx
b27ccae0d5900e923c13936274369f754d8e28e9 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionRelTable into declaration and implementation.
LFSectionRelTable.hxx
80085915e5918ad921b30e3fd4efe2154ee4ae49 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionSymTab into declaration and implementation.
LFSectionSymTab.hxx
bafb650811e8bcf6fbc014face6e127502869e68 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionHeaderTable into declaration and implementation.
LFSectionHeaderTable.hxx
efae30af6a2d9deedf961942e4834163f686871c 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionHeader into declaration and implementation.
LFSectionHeader.hxx
9f3703c8165b74517567e0d3a7a4f71ae8337c72 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSymbol into declaration and implementation.
LFSymbol.hxx
6ea6f71f24bc6cf759b2458209f3ef86559c685a 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionProgBits to declaration and implementation.
LFSectionProgBits.hxx
981401933fb26be6313bf68a44154a2984aeeb67 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionNoBits into declaration and implementation.
LFSectionNoBits.hxx
cf6522329b7a93193fbef761386bdaa4a07206f8 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSectionBits into declaration and implementation.
LFSectionBits.hxx
a839a76142ae481e578a85218008043dc52c5cf3 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFSection into declaration and implementation.
LFSection.hxx
355c46527467526e566944fa393896009bdd0136 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Split ELFReloc into declaration and implementation.
LFReloc.hxx
089c5b3d98c8e4416a36cff12199c9ea659d8976 11-Jun-2011 Logan Chien <tzuhsiang.chien@gmail.com> Move the implementation to a seperate directory.
LFHeader.hxx
LFObject.hxx