Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-27 Thread Jing Yu
On Mon, Feb 27, 2012 at 12:28 AM, Ilya Enkovich  wrote:
>> My comment is(was) not on the format of the patch. Instead, I am
>> thinking whether Android toolchain customer, which is Android AOSP,
>> wants this patch.
>>
>> I don't know the scenario behind this patch. I think the question
>> behind this patch is, if RTTI and exceptions are enabled by default,
>> who is supposed to handle RTTI and exceptions by default? The answer
>> is no answer, for now.
>>
>> Android AOSP tree provides very limited C++ support. Android NDK
>> provides four options for C++ support. Some of the options support
>> both exceptions and rttit, some options only support rtti.
>>
>> Therefore I guess Android AOSP probably would not like to enable
>> exceptions and RTTI by default.
>
> Actually when you rebuild Android NDK similar patch (named
> 0001-Enable-C-exceptions-and-RTTI-by-default.patch) is applied to GCC
> sources before toolchain rebuild.

Right. The patch is used to build NDK toolchain which is to build NDK
applications, and NDK offers several options for RTTI and exception
support. But Android AOSP platform does not support exception, and the
toolchain to build Android AOSP platform does not use this patch.
That's why the patch exists in NDK package, not in AOSP toolchain
source repository.

Thanks,
Jing

>
> Ilya
>
>>
>> Questions/complaints/requests on Android limited C++ support, should
>> go to Android forum.
>> Questions about license concerns, should go to Android AOSP lawyer.
>>
>> Thanks,
>> Jing
>>
>> On Fri, Feb 24, 2012 at 2:36 AM, Richard Guenther
>>  wrote:
>>> On Fri, Feb 24, 2012 at 11:22 AM, Ilya Enkovich  
>>> wrote:
> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  
> wrote:
>> Hello,
>>
>> Here is a simple patch which enables exceptions and RTTI by default
>> for Android target. OK for trunk?
>
> Err - isn't that the default?  Thus, simply delete the bogus spec?
>
> Richard.
>
>
 Hi,

 Is following patch OK or it's better to remove whole macro and its usages?
>>>
>>> The latter.
>>>
>>> Richard.
>>>
 Thanks,
 Ilya
 --
 2012-02-22  Enkovich Ilya  

        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
        exceptions and rtti by default.


 diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
 index 94c5274..180b62b 100644
 --- a/gcc/config/linux-android.h
 +++ b/gcc/config/linux-android.h
 @@ -45,9 +45,7 @@
   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "                      \
   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"

 -#define ANDROID_CC1PLUS_SPEC                                           \
 -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
 -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
 +#define ANDROID_CC1PLUS_SPEC ""

  #define ANDROID_LIB_SPEC \
   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-27 Thread Ilya Enkovich
> My comment is(was) not on the format of the patch. Instead, I am
> thinking whether Android toolchain customer, which is Android AOSP,
> wants this patch.
>
> I don't know the scenario behind this patch. I think the question
> behind this patch is, if RTTI and exceptions are enabled by default,
> who is supposed to handle RTTI and exceptions by default? The answer
> is no answer, for now.
>
> Android AOSP tree provides very limited C++ support. Android NDK
> provides four options for C++ support. Some of the options support
> both exceptions and rttit, some options only support rtti.
>
> Therefore I guess Android AOSP probably would not like to enable
> exceptions and RTTI by default.

Actually when you rebuild Android NDK similar patch (named
0001-Enable-C-exceptions-and-RTTI-by-default.patch) is applied to GCC
sources before toolchain rebuild.

Ilya

>
> Questions/complaints/requests on Android limited C++ support, should
> go to Android forum.
> Questions about license concerns, should go to Android AOSP lawyer.
>
> Thanks,
> Jing
>
> On Fri, Feb 24, 2012 at 2:36 AM, Richard Guenther
>  wrote:
>> On Fri, Feb 24, 2012 at 11:22 AM, Ilya Enkovich  
>> wrote:
 On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  
 wrote:
> Hello,
>
> Here is a simple patch which enables exceptions and RTTI by default
> for Android target. OK for trunk?

 Err - isn't that the default?  Thus, simply delete the bogus spec?

 Richard.


>>> Hi,
>>>
>>> Is following patch OK or it's better to remove whole macro and its usages?
>>
>> The latter.
>>
>> Richard.
>>
>>> Thanks,
>>> Ilya
>>> --
>>> 2012-02-22  Enkovich Ilya  
>>>
>>>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>>>        exceptions and rtti by default.
>>>
>>>
>>> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
>>> index 94c5274..180b62b 100644
>>> --- a/gcc/config/linux-android.h
>>> +++ b/gcc/config/linux-android.h
>>> @@ -45,9 +45,7 @@
>>>   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "                      \
>>>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>>>
>>> -#define ANDROID_CC1PLUS_SPEC                                           \
>>> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
>>> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
>>> +#define ANDROID_CC1PLUS_SPEC ""
>>>
>>>  #define ANDROID_LIB_SPEC \
>>>   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-24 Thread Jing Yu
My comment is(was) not on the format of the patch. Instead, I am
thinking whether Android toolchain customer, which is Android AOSP,
wants this patch.

I don't know the scenario behind this patch. I think the question
behind this patch is, if RTTI and exceptions are enabled by default,
who is supposed to handle RTTI and exceptions by default? The answer
is no answer, for now.

Android AOSP tree provides very limited C++ support. Android NDK
provides four options for C++ support. Some of the options support
both exceptions and rttit, some options only support rtti.

Therefore I guess Android AOSP probably would not like to enable
exceptions and RTTI by default.

Questions/complaints/requests on Android limited C++ support, should
go to Android forum.
Questions about license concerns, should go to Android AOSP lawyer.

Thanks,
Jing

On Fri, Feb 24, 2012 at 2:36 AM, Richard Guenther
 wrote:
> On Fri, Feb 24, 2012 at 11:22 AM, Ilya Enkovich  
> wrote:
>>> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  
>>> wrote:
 Hello,

 Here is a simple patch which enables exceptions and RTTI by default
 for Android target. OK for trunk?
>>>
>>> Err - isn't that the default?  Thus, simply delete the bogus spec?
>>>
>>> Richard.
>>>
>>>
>> Hi,
>>
>> Is following patch OK or it's better to remove whole macro and its usages?
>
> The latter.
>
> Richard.
>
>> Thanks,
>> Ilya
>> --
>> 2012-02-22  Enkovich Ilya  
>>
>>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>>        exceptions and rtti by default.
>>
>>
>> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
>> index 94c5274..180b62b 100644
>> --- a/gcc/config/linux-android.h
>> +++ b/gcc/config/linux-android.h
>> @@ -45,9 +45,7 @@
>>   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "                      \
>>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>>
>> -#define ANDROID_CC1PLUS_SPEC                                           \
>> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
>> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
>> +#define ANDROID_CC1PLUS_SPEC ""
>>
>>  #define ANDROID_LIB_SPEC \
>>   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-24 Thread Richard Guenther
On Fri, Feb 24, 2012 at 11:22 AM, Ilya Enkovich  wrote:
>> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  
>> wrote:
>>> Hello,
>>>
>>> Here is a simple patch which enables exceptions and RTTI by default
>>> for Android target. OK for trunk?
>>
>> Err - isn't that the default?  Thus, simply delete the bogus spec?
>>
>> Richard.
>>
>>
> Hi,
>
> Is following patch OK or it's better to remove whole macro and its usages?

The latter.

Richard.

> Thanks,
> Ilya
> --
> 2012-02-22  Enkovich Ilya  
>
>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>        exceptions and rtti by default.
>
>
> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
> index 94c5274..180b62b 100644
> --- a/gcc/config/linux-android.h
> +++ b/gcc/config/linux-android.h
> @@ -45,9 +45,7 @@
>   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "                      \
>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>
> -#define ANDROID_CC1PLUS_SPEC                                           \
> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
> +#define ANDROID_CC1PLUS_SPEC ""
>
>  #define ANDROID_LIB_SPEC \
>   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-24 Thread Ilya Enkovich
> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  wrote:
>> Hello,
>>
>> Here is a simple patch which enables exceptions and RTTI by default
>> for Android target. OK for trunk?
>
> Err - isn't that the default?  Thus, simply delete the bogus spec?
>
> Richard.
>
>
Hi,

Is following patch OK or it's better to remove whole macro and its usages?

Thanks,
Ilya
--
2012-02-22  Enkovich Ilya  

* gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
exceptions and rtti by default.


diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
index 94c5274..180b62b 100644
--- a/gcc/config/linux-android.h
+++ b/gcc/config/linux-android.h
@@ -45,9 +45,7 @@
   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "  \
   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"

-#define ANDROID_CC1PLUS_SPEC   \
-  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "   \
-  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
+#define ANDROID_CC1PLUS_SPEC ""

 #define ANDROID_LIB_SPEC \
   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-23 Thread Richard Guenther
On Wed, Feb 22, 2012 at 8:20 PM, Jing Yu  wrote:
> So far, Android ARM toolchain, which builds Android platform for ARM
> boards, does not enable RTTI and exceptions by default. There are
> license concerns with the use of GNU libstdc++ and libsupc++.

That, of course, does not answer my question why

>>> +  "%{!fexceptions:%{!fno-exceptions: -fexceptions}} "  \
>>> +  "%{!frtti:%{!fno-rtti: -frtti}}"

is not a no-op.

Richard.

> Thanks,
> Jing
>
> On Wed, Feb 22, 2012 at 7:07 AM, Richard Guenther
>  wrote:
>> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  
>> wrote:
>>> Hello,
>>>
>>> Here is a simple patch which enables exceptions and RTTI by default
>>> for Android target. OK for trunk?
>>
>> Err - isn't that the default?  Thus, simply delete the bogus spec?
>>
>> Richard.
>>
>>
>>> Thanks,
>>> Ilya
>>> --
>>>
>>> 2012-02-22  Enkovich Ilya  
>>>
>>>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>>>        exceptions and rtti by default.
>>>
>>>
>>> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
>>> index 94c5274..7256082 100644
>>> --- a/gcc/config/linux-android.h
>>> +++ b/gcc/config/linux-android.h
>>> @@ -46,8 +46,8 @@
>>>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>>>
>>>  #define ANDROID_CC1PLUS_SPEC                                           \
>>> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
>>> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
>>> +  "%{!fexceptions:%{!fno-exceptions: -fexceptions}} "          \
>>> +  "%{!frtti:%{!fno-rtti: -frtti}}"
>>>
>>>  #define ANDROID_LIB_SPEC \
>>>   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-22 Thread H.J. Lu
On Wed, Feb 22, 2012 at 11:20 AM, Jing Yu  wrote:
> So far, Android ARM toolchain, which builds Android platform for ARM
> boards, does not enable RTTI and exceptions by default. There are
> license concerns with the use of GNU libstdc++ and libsupc++.
>

I am not a lawyer.  From

http://www.gnu.org/licenses/gcc-exception-faq.html

I use a proprietary compiler toolchain without any parts of GCC to
compile my program, and link it with libstdc++. My program itself does
not include any runtime library code the same way that GCC-compiled
programs include libgcc. Can I still take advantage of the exception?

Yes. While combining libgcc with GCC-compiled object code is
probably the most common way the exception is used, neither the GPL
nor the GCC Runtime Library Exception distinguish between static
linking, dynamic linking, and other methods for combining code in
their conditions. The same permissions are available to you, under the
same terms, no matter which method you use.

It indicates both libstdc++.a and libstdc++.so are covered by GPLv3
run-time exception.


-- 
H.J.


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-22 Thread Jing Yu
So far, Android ARM toolchain, which builds Android platform for ARM
boards, does not enable RTTI and exceptions by default. There are
license concerns with the use of GNU libstdc++ and libsupc++.

Thanks,
Jing

On Wed, Feb 22, 2012 at 7:07 AM, Richard Guenther
 wrote:
> On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  wrote:
>> Hello,
>>
>> Here is a simple patch which enables exceptions and RTTI by default
>> for Android target. OK for trunk?
>
> Err - isn't that the default?  Thus, simply delete the bogus spec?
>
> Richard.
>
>
>> Thanks,
>> Ilya
>> --
>>
>> 2012-02-22  Enkovich Ilya  
>>
>>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>>        exceptions and rtti by default.
>>
>>
>> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
>> index 94c5274..7256082 100644
>> --- a/gcc/config/linux-android.h
>> +++ b/gcc/config/linux-android.h
>> @@ -46,8 +46,8 @@
>>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>>
>>  #define ANDROID_CC1PLUS_SPEC                                           \
>> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
>> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
>> +  "%{!fexceptions:%{!fno-exceptions: -fexceptions}} "          \
>> +  "%{!frtti:%{!fno-rtti: -frtti}}"
>>
>>  #define ANDROID_LIB_SPEC \
>>   "%{!static: -ldl}"


Re: [PATCH, i386, Android] Enable exceptions and RTTI by default for Android

2012-02-22 Thread Richard Guenther
On Wed, Feb 22, 2012 at 3:57 PM, Ilya Enkovich  wrote:
> Hello,
>
> Here is a simple patch which enables exceptions and RTTI by default
> for Android target. OK for trunk?

Err - isn't that the default?  Thus, simply delete the bogus spec?

Richard.


> Thanks,
> Ilya
> --
>
> 2012-02-22  Enkovich Ilya  
>
>        * gcc/config/linux-android.h (ANDROID_CC1PLUS_SPEC): Enable
>        exceptions and rtti by default.
>
>
> diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
> index 94c5274..7256082 100644
> --- a/gcc/config/linux-android.h
> +++ b/gcc/config/linux-android.h
> @@ -46,8 +46,8 @@
>   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC"
>
>  #define ANDROID_CC1PLUS_SPEC                                           \
> -  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "               \
> -  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
> +  "%{!fexceptions:%{!fno-exceptions: -fexceptions}} "          \
> +  "%{!frtti:%{!fno-rtti: -frtti}}"
>
>  #define ANDROID_LIB_SPEC \
>   "%{!static: -ldl}"