--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
David,Thanks for attention. Unfortunately, placing libgcc.a before libc.so cause SIGSEGV on load of shared library from Java. There are duplicates of some functions (such as Unwind_RaiseException) which are both in libc.so and in libgcc.a. Looks like implementation located in libc.so is correct whereas in libgcc.a - no. So currently the only way to use it - place libc.so before libgcc.a.Is this real problem or potential? I mean is this approach will get broken binaries for latest android devices such as Nexus One? I've tested it on emulator 2.1 and it works fine there. Unfortunately, I have no Nexus One so can not test it on device.
If this is just potential problem, don't worry, I'll fix it soon and will replace patch by the newest version. If this is real problem, I'll remove temporarily my prebuilt versions from site until solution will found.
On 11 Mrz., 01:06, Dmitry Moskalchuk <crys...@gmail.com> wrote:
> Done. Seehttp://www.crystax.net/android/ndk-r3.php
Yes, I believe that it. But in case of r2 applications built using my
custom version will behave the same as built using official NDK r2 so
therefore I've not placed warning there.
Anyway, right now I'm digging in this problem and seems I'm pretty
close to final solution. As soon as I'll get it done, I'll update my
site with that.
Dmitry Moskalchuk
22.03.2010, в 11:05, tdo...@googlemail.com написал(а):
Just wanted to say thanks for providing a version of the Android NDK
with C++ support. While I don't use exceptions and STL in my game
engine, your NDK helps me run my unit tests.
Cheers
On Mar 22, 8:19 pm, Dmitry Moskalchuk <crys...@gmail.com> wrote:
> Hi,
>
> Yes, I believe that it. But in case of r2 applications built using my
> custom version will behave the same as built using official NDK r2 so
> therefore I've not placed warning there.
> Anyway, right now I'm digging in this problem and seems I'm pretty
> close to final solution. As soon as I'll get it done, I'll update my
> site with that.
>
> Dmitry Moskalchuk
>
> 22.03.2010, × 11:05, tdom...@googlemail.com ÎÁÐÉÓÁÌ(Á):
>
> > hi,
> > thanks for you work. You released Android NDK r2, too. The website
> > doesn't contain a warning for that, but the same restrictions/possible
> > future problems apply, right?
>
> > On 11 Mrz., 01:06, Dmitry Moskalchuk <crys...@gmail.com> wrote:
> >> Done. Seehttp://www.crystax.net/android/ndk-r3.php
>
> >> Dmitry Moskalchuk
>
> >> 11.03.2010, × 2:41, David Turner ÎÁÐÉÓÁÌ(Á):
> >>> 11.03.2010, × 2:16, David Turner ÎÁÐÉÓÁÌ(Á):
Dmitry Moskalchuk
Done. SeeО©╫http://www.crystax.net/android/ndk-r3.php
Dmitry Moskalchuk
11.03.2010, О©╫ 2:41, David Turner О©╫О©╫О©╫О©╫О©╫О©╫О©╫(О©╫):
On Wed, Mar 10, 2010 at 3:33 PM, Dmitry Moskalchuk <cry...@gmail.com> wrote:
David,
Thanks for attention. Unfortunately, placing libgcc.a before libc.so cause SIGSEGV on load of shared library from Java. There are duplicates of some functions (such as Unwind_RaiseException) which are both in libc.so and in libgcc.a. Looks like implementation located in libc.so is correct whereas in libgcc.a - no. So currently the only way to use it - place libc.so before libgcc.a.
Is this real problem or potential? I mean is this approach will get broken binaries for latest android devices such as Nexus One? I've tested it on emulator 2.1 and it works fine there. Unfortunately, I have no Nexus One so can not test it on device.
This will be a problem when we release a version of the platform that is built with a different toolchain because it will generate slightly different code that depends on different libgcc.a functions. This could happen for Gingerbread for example.The symptom will be that NDK apps built with your NDK may fail to load their shared library at startup after an OTA. This kind of thing is why I want to be extremely cautious about officially supporting C++ exceptions / RTTI in the NDK.
О©╫
If this is just potential problem, don't worry, I'll fix it soon and will replace patch by the newest version. If this is real problem, I'll remove temporarily my prebuilt versions from site until solution will found.
I don't know yet :-( At the minimum, please tag your NDK as "experimental" or something and try to make the issue very clear to users.
Sorry about that. Yeah, native ABIs suck !
О©╫
Dmitry Moskalchuk
11.03.2010, О©╫ 2:16, David Turner О©╫О©╫О©╫О©╫О©╫О©╫О©╫(О©╫):
Dmitry,
Your latest patch is not correct, libgcc.a should really be placed before any shared libraries and PRIVATE_LDLIBS flags when generating a binary.If you don't do this, the final binary may have symbol references to libgcc functions that are embedded in libc.so, libm.so and others, which unfortunately may changer in later platform revisions due to toolchain changes(We had this problem when switching from 4.2.1 in Donut to 4.4.0 in Eclair).
Can I ask you to correct your modified NDK to avoid this problem in the future ?
Thanks
On Wed, Mar 10, 2010 at 3:07 PM, Dmitry Moskalchuk <cry...@gmail.com> wrote:
Hi all,
Just want to inform that I've built customized version of recently released Android NDK r3 with enabled full C++ support (exceptions, RTTI, Standard C++ library including STL).
Both arm-eabi-4.2.1 and arm-eabi-4.4.0 toolchains have full C++ support enabled. Changes I've made:О©╫http://www.crystax.net/data/android-ndk-r3-crystax.diff.You can download prebuilt packages from my site or build own versions following instructions I've provided. Try it out:О©╫http://www.crystax.net/android/ndk-r3.php
Dmitry Moskalchuk
--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
Regards,
Yongki C. AndykaJong
On Mar 28, 7:44 pm, Dmitry Moskalchuk <crys...@gmail.com> wrote:
> Hi all,
>
> Just want to inform I've fixed that problem David mentioned (potential
> problem with running binaries on future android versions). I've
> re-uploaded fixed distribution to my sitehttp://www.crystax.net/android/ndk-r3.php. All C++ stuff like runtime
> > Done. Seehttp://www.crystax.net/android/ndk-r3.php
>
> > Dmitry Moskalchuk
>
> > 11.03.2010, О©╫ 2:41, David Turner О©╫О©╫О©╫О©╫О©╫О©╫О©╫(О©╫):
>
> >> On Wed, Mar 10, 2010 at 3:33 PM, Dmitry Moskalchuk <crys...@gmail.com
> >> <mailto:crys...@gmail.com>> wrote:
>
> >> David,
>
> >> Thanks for attention. Unfortunately, placing libgcc.a before
> >> libc.so cause SIGSEGV on load of shared library from Java. There
> >> are duplicates of some functions (such as Unwind_RaiseException)
> >> which are both in libc.so and in libgcc.a. Looks like
> >> implementation located in libc.so is correct whereas in libgcc.a
> >> - no. So currently the only way to use it - place libc.so before
> >> libgcc.a.
>
> >> Is this real problem or potential? I mean is this approach will
> >> get broken binaries for latest android devices such as Nexus One?
> >> I've tested it on emulator 2.1 and it works fine there.
> >> Unfortunately, I have no Nexus One so can not test it on device.
>
> >> This will be a problem when we release a version of the platform that
> >> is built with a different toolchain because it will generate slightly
> >> different code that depends on different libgcc.a functions. This
> >> could happen for Gingerbread for example.
> >> The symptom will be that NDK apps built with your NDK may fail to
> >> load their shared library at startup after an OTA. This kind of thing
> >> is why I want to be extremely cautious about officially supporting
> >> C++ exceptions / RTTI in the NDK.
>
> >> If this is just potential problem, don't worry, I'll fix it soon
> >> and will replace patch by the newest version. If this is real
> >> problem, I'll remove temporarily my prebuilt versions from site
> >> until solution will found.
>
> >> I don't know yet :-( At the minimum, please tag your NDK as
> >> "experimental" or something and try to make the issue very clear to
> >> users.
>
> >> Sorry about that. Yeah, native ABIs suck !
>
> >> Dmitry Moskalchuk
>
> >> 11.03.2010, О©╫ 2:16, David Turner О©╫О©╫О©╫О©╫О©╫О©╫О©╫(О©╫):
>
> >>> Dmitry,
>
> >>> Your latest patch is not correct, libgcc.a should really be
> >>> placed before any shared libraries and PRIVATE_LDLIBS flags when
> >>> generating a binary.
> >>> If you don't do this, the final binary may have symbol
> >>> references to libgcc functions that are embedded in libc.so,
> >>> libm.so and others, which unfortunately may changer in later
> >>> platform revisions due to toolchain changes
> >>> (We had this problem when switching from 4.2.1 in Donut to 4.4.0
> >>> in Eclair).
>
> >>> Can I ask you to correct your modified NDK to avoid this problem
> >>> in the future ?
>
> >>> Thanks
>
> >>> On Wed, Mar 10, 2010 at 3:07 PM, Dmitry Moskalchuk
> >>> <crys...@gmail.com <mailto:crys...@gmail.com>> wrote:
>
> >>> Hi all,
>
> >>> Just want to inform that I've built customized version of
> >>> recently released Android NDK r3 with enabled full C++
> >>> support (exceptions, RTTI, Standard C++ library including STL).
> >>> Both arm-eabi-4.2.1 and arm-eabi-4.4.0 toolchains have full
> >>> C++ support enabled. Changes I've made:
> >>> http://www.crystax.net/data/android-ndk-r3-crystax.diff.
> >>> You can download prebuilt packages from my site or build own
> >>> versions following instructions I've provided. Try it out:
> >>> http://www.crystax.net/android/ndk-r3.php
>
> >>> Dmitry Moskalchuk
>
> >>> --
> >>> You received this message because you are subscribed to the
> >>> Google Groups "android-ndk" group.
> >>> To post to this group, send email to
> >>> andro...@googlegroups.com
> >>> <mailto:andro...@googlegroups.com>.
> >>> To unsubscribe from this group, send email to
> >>> android-ndk...@googlegroups.com
> >>> <mailto:android-ndk%2Bunsu...@googlegroups.com>.
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/android-ndk?hl=en.
>
> >>> --
> >>> You received this message because you are subscribed to the
> >>> Google Groups "android-ndk" group.
> >>> To post to this group, send email to
> >>> andro...@googlegroups.com <mailto:andro...@googlegroups.com>.
> >>> To unsubscribe from this group, send email to
> >>> android-ndk...@googlegroups.com
> >>> <mailto:android-ndk...@googlegroups.com>.
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/android-ndk?hl=en.
>
> >> --
> >> You received this message because you are subscribed to the
> >> Google Groups "android-ndk" group.
> >> To post to this group, send email to andro...@googlegroups.com
> >> <mailto:andro...@googlegroups.com>.
> >> To unsubscribe from this group, send email to
> >> android-ndk...@googlegroups.com
> >> <mailto:android-ndk%2Bunsu...@googlegroups.com>.
> >> For more options, visit this group at
> >> http://groups.google.com/group/android-ndk?hl=en.
>
> >> --
> >> You received this message because you are subscribed to the Google
> >> Groups "android-ndk" group.
> >> To post to this group, send email to andro...@googlegroups.com
> >> <mailto:andro...@googlegroups.com>.
> >> To unsubscribe from this group, send email to
> >> android-ndk...@googlegroups.com
> >> <mailto:android-ndk...@googlegroups.com>.
Dmitry Moskalchuk
28.03.2010, в 20:16, Yongki написал(а):
> To post to this group, send email to andro...@googlegroups.com.
> To unsubscribe from this group, send email to android-ndk...@googlegroups.com
This is the disassembly of the relevant part of the library:
0007cfe4 <_ZN12_GLOBAL__N_116get_static_mutexEv>:
7cfe4: e92d4010 push {r4, lr}
7cfe8: e59f1010 ldr r1, [pc, #16] ; 7d000
<_ZN12_GLOBAL__N_116get_static_mutexEv+0x1c>
7cfec: e59f0010 ldr r0, [pc, #16] ; 7d004
<_ZN12_GLOBAL__N_116get_static_mutexEv+0x20>
7cff0: ebff3b3c bl 4bce8 <_ZnwjPv-0x330>
7cff4: e59f300c ldr r3, [pc, #12] ; 7d008
<_ZN12_GLOBAL__N_116get_static_mutexEv+0x24>
7cff8: e5930000 ldr r0, [r3]
7cffc: e8bd8010 pop {r4, pc}
7d000: 0007cfb4 .word 0x0007cfb4
7d004: 000b13ec .word 0x000b13ec
7d008: 000b13f8 .word 0x000b13f8
any ideas?
On Mar 29, 9:31 pm, Dmitry Moskalchuk <crys...@gmail.com> wrote:
> Glad to hear that :)
>
> Dmitry Moskalchuk
>
> 28.03.2010, × 20:16, Yongki ÎÁÐÉÓÁÌ(Á):
> >> 11.03.2010 03:06, Dmitry Moskalchuk �����:
>
> >>> Done. Seehttp://www.crystax.net/android/ndk-r3.php
>
> >>> Dmitry Moskalchuk
>
> >>> 11.03.2010, � 2:41, David Turner �������(�):
> >>>> 11.03.2010, � 2:16, David Turner �������(�):
Sorry, I can not understand - why you are trying to do that? As I know, current android gcc (and gcc from my custom build too) has no problems with threads - I'm using pthreads in my core engine and all works fine there. Can you explain more detailed what you are trying to do?
Dmitry Moskalchuk
31.03.2010, в 14:16, alan написал(а):
Dmitry Moskalchuk