On 10/13/2016 03:46 PM, Rainer Orth wrote:
> Hi Martin,
>
> sorry for the long delay: I've been extremely busy the last two weeks.
Hello
Never mind, still plenty of time before we'll release 7.1.0 :)
>
>> On 09/30/2016 02:31 PM, Rainer Orth wrote:
>>> this would be i386-pc-solaris2.12. I'm not sure if the constructor
>>> priority detection works in a cross scenario.
>>
>> Hi.
>>
>> By the way, I tried to test the cross-compiler:
>> $ ../configure --disable-bootstrap --enable-languages=c,c++,fortran
>> --enable-valgrind-annotations --prefix=/home/marxin/bin/gcc2
>> --disable-multilib --disable-libsanitizer --target=i386-pc-solaris2.12
>>
>> and I get for:
>> cat /tmp/priority.c
>> void __attribute__ ((constructor(150))) foo()
>> {
>> }
>>
>> void __attribute__ ((constructor(151))) bar()
>> {
>> }
>>
>> int main()
>> {
>> return 0;
>> }
>>
>> $ ./xgcc -B. /tmp/priority.c -fprofile-generate -S
>> /tmp/priority.c:2:1: error: constructor priorities are not supported
>> {
>> ^
>> /tmp/priority.c:6:1: error: constructor priorities are not supported
>> {
>> ^
>>
>> I guess even cross compiler should detect whether the target supports
>> ctor/dtor priorities.
>
> maybe it could, but right now acinclude.m4 (gcc_AC_INITFINI_ARRAY) has
> this for crosses:
>
> AC_MSG_CHECKING(cross compile... guessing)
> gcc_cv_initfini_array=no
>
> You could work around this by overriding configure with
> --enable-initfini-array.
Good, I've just done that.
>
>> May I ask you for assembly file of a native compiler with the suggested
>> patch?
>
> Sure: this time from an i386-pc-solaris2.12 compiler configured to use
> gas and ld.
>
> Rainer
>
Just running my previous example (priotity.c), I can see with -S:
_GLOBAL__sub_D_00099_1_foo:
jmp __gcov_exit
.size _GLOBAL__sub_D_00099_1_foo, .-_GLOBAL__sub_D_00099_1_foo
.section .fini_array.00099,"aw"
.align 4
.long _GLOBAL__sub_D_00099_1_foo
.data
.align 4
.type .LPBX1, @object
.size .LPBX1, 12
Which looks good. I guess the sent snippet is before r240857, where I fixed the
priority to 99. Can you please test it with current trunk?
Thanks,
Martin