** Changed in: gcc-i686-linux-android (Ubuntu)
Assignee: Dimitri John Ledkov (xnox) => (unassigned)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1305315
Title:
Android container fails to start
This bug was fixed in the package android - 20140501-2310-0ubuntu1
---
android (20140501-2310-0ubuntu1) utopic; urgency=medium
* New upstream release
* Dropping patches already available in upstream:
- audio_hw.c-make-sure-we-don-t-double-free-if-it-s-th.patch
- disable-x8
\o/
Dynamic Section:
PLTGOT 0x0001ffe4
REL 0x0224
RELSZ0x0778
RELENT 0x0008
RELCOUNT 0x00ef
SYMTAB 0x0114
SYMENT 0x0010
STRTAB 0x01a4
STR
So yeah, -Bsymbolic is the reason :-)
Check http://gcc.gnu.org/ml/gcc/2013-03/msg00304.html. And
http://gcc.gnu.org/ml/gcc/2013-04/msg00016.html as follow up.
So the prebuilt Android toolchain forces -Bsymbolic for every shared
library.
As this is not the case with our toolchain, the linker ends
Actually the other warnings listed above is because of DT_TEXTREL. Not
sure yet why we get them with our compiler yet.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1305315
Title:
Android container
The difference is that the -Bsymbolic flag is given to the linker when
using the pre-build toolchain (it seems for every shared library).
Our toolchain doesn't use that flag, causing the plt to be generated.
I'm able to successfully build a working linker by forcing this specific flag
in Android
In the ARM case I believe the symbols would fit STB_WEAK, otherwise it'd
also fail in the same way.
Just confirmed that the results are generated in the final stage of the
linking process, and it doesn't depend on the object files used.
Using prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/bin
Comparing with mako, it has .rel.plt section:
Relocation section '.rel.plt' at offset 0xa08 contains 3 entries:
Offset InfoTypeSym.Value Sym. Name
fff4 0816 R_ARM_JUMP_SLOT __gnu_Unwind_Find_exid
fff8 0916 R_ARM_JUMP_SLOT __cxa_begi
When comparing the readelf output:
+000201e8 0101 R_386_32 8210 rtld_db_dlactivity
+
+Relocation section '.rel.plt' at offset 0x99c contains 5 entries:
+ Offset InfoTypeSym.Value Sym. Name
+0001ffe0 0107 R_386_JUMP_SLOT 8210 rtld_db_dlactivity
+
And where it fails:
bionic/linker/linker.cpp:
1303 static bool soinfo_link_image(soinfo* si) {
...
1360 case DT_JMPREL:
1361 si->plt_rel = (Elf32_Rel*) (base + d->d_un.d_ptr);
...
1543 if (si->plt_rel != NULL) {
1544 DEBUG("[ relocating %s plt ]", si->name );
1545
The issue here is that the linker binary crated with the gcc-i686-linux-
android toolchain contains a .plt section, when it shouldn't.
The consequence is that once you execute a binary that depends on any
shared library, the linker will fail when it tries to initialize itself,
because it can't con
** Changed in: gcc-i686-linux-android (Ubuntu)
Assignee: (unassigned) => Dimitri John Ledkov (xnox)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1305315
Title:
Android container fails to start
** Attachment added: "run-emulator.sh"
https://bugs.launchpad.net/ubuntu/+source/gcc-i686-linux-android/+bug/1305315/+attachment/4078250/+files/run-emulator.sh
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.
Just use the attached scripts at the root folder (so it can find the
image files), and you should be able to create and run the emulator.
** Also affects: android (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, w
14 matches
Mail list logo