public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14161] New: Constructors invoking priority problem
@ 2004-02-16 15:44 kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 15:49 ` [Bug c++/14161] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: kczyz at zeus dot polsl dot gliwice dot pl @ 2004-02-16 15:44 UTC (permalink / raw)
To: gcc-bugs
Compiling eCOS, compilation succesful, but one of the constructors is invoked in
wrong order (Cyg_Mempool_dlmalloc cygmem_pool_heap1), the same code compiled
uing GCC3.2 constructors invoked in right order.
>arm-elf-gcc -v
Reading specs from /ecos-e/Tools/arm-elf-cygwin/bin/../lib/gcc/arm-elf/3.4.0/spe
cs
Configured with: /c/Src/gcc-3.4-20040215/configure --target=arm-elf --prefix=/c/
gnutools.arm --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib
--with-gxx-include-dir=/gnutools.arm/arm-elf/include -v : (reconfigured) /c/Src/
gcc-3.4-20040215/configure --target=arm-elf --prefix=/c/gnutools.arm --enable-la
nguages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-include-dir=/
gnutools.arm/arm-elf/include -v
Thread model: single
gcc version 3.4.0 20040216 (prerelease)
How-To-Repeat:
Try to compile the eCOS kernel using GCC3.4.
--
Summary: Constructors invoking priority problem
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kczyz at zeus dot polsl dot gliwice dot pl
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: i686-pc-cygwin
GCC target triplet: arm-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
@ 2004-02-16 15:49 ` pinskia at gcc dot gnu dot org
2004-02-16 16:07 ` kczyz at zeus dot polsl dot gliwice dot pl
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-16 15:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-16 15:49 -------
We cannot do anything without a testcase. Can you supply one besides say download eCOS.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Keywords| |wrong-code
Summary|Constructors invoking |[3.4/3.5 Regression]
|priority problem |Constructors invoking
| |priority problem
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 15:49 ` [Bug c++/14161] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-02-16 16:07 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 17:36 ` kczyz at zeus dot polsl dot gliwice dot pl
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: kczyz at zeus dot polsl dot gliwice dot pl @ 2004-02-16 16:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From kczyz at zeus dot polsl dot gliwice dot pl 2004-02-16 16:07 -------
(In reply to comment #1)
> We cannot do anything without a testcase. Can you supply one besides say
download eCOS.
I can supply compiled only; do not assembled files generated using GCC3.4 and
GCC3.2. Problem is with (init_priority) atribute, it doesn't work correcly.
I think that problem is with generated function name
(_ZN12Cyg_Mempolt2I35Cyg_Mempool_dlmalloc_ImplementationEC1EPhij)
vs (Z41__static_initialization_and_destruction_0ii) in GCC3.2
GCC3.2:
-------
.file "heaps.cxx"
.section .debug_abbrev,"",%progbits
.Ldebug_abbrev0:
.section .debug_info,"",%progbits
.Ldebug_info0:
.section .debug_line,"",%progbits
.Ldebug_line0:
.text
.Ltext0:
.global cygmem_pool_heap1
.section .bss.cygmem_pool_heap1,"aw",%nobits
.global cygmem_pool_heap1
.align 2
.type cygmem_pool_heap1,object
.size cygmem_pool_heap1,1044
cygmem_pool_heap1:
.space 1044
.global cygmem_memalloc_heaps
.section .data.cygmem_memalloc_heaps,"aw",%progbits
.align 2
.type cygmem_memalloc_heaps,object
.size cygmem_memalloc_heaps,8
cygmem_memalloc_heaps:
.word cygmem_pool_heap1
.word 0
.section .text._Z41__static_initialization_and_destruction_0ii,"ax",%
progbits
.align 2
.type _Z41__static_initialization_and_destruction_0ii,function
_Z41__static_initialization_and_destruction_0ii:
.LFB1:
.LSM0:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
.LCFI0:
stmfd sp!, {r4, r5, r6, fp, ip, lr, pc}
.LCFI1:
...
GCC3.4:
-------
.file "heaps.cxx"
.section .debug_abbrev,"",%progbits
.Ldebug_abbrev0:
.section .debug_info,"",%progbits
.Ldebug_info0:
.section .debug_line,"",%progbits
.Ldebug_line0:
.text
.Ltext0:
.section .ctors,"aw",%progbits
.align 2
.word _GLOBAL__I_cygmem_pool_heap1
.section .dtors,"aw",%progbits
.align 2
.word _GLOBAL__D_cygmem_pool_heap1
.global cygmem_memalloc_heaps
.section .data.cygmem_memalloc_heaps,"aw",%progbits
.align 2
.type cygmem_memalloc_heaps, %object
.size cygmem_memalloc_heaps, 8
cygmem_memalloc_heaps:
.word cygmem_pool_heap1
.word 0
.global cygmem_pool_heap1
.section .bss.cygmem_pool_heap1,"aw",%nobits
.align 2
.type cygmem_pool_heap1, %object
.size cygmem_pool_heap1, 1044
cygmem_pool_heap1:
.space 1044
.section .gnu.linkonce.t.
_ZN12Cyg_Mempolt2I35Cyg_Mempool_dlmalloc_ImplementationEC1EPhij,"ax",%progbits
.align 2
.weak _ZN12Cyg_Mempolt2I35Cyg_Mempool_dlmalloc_ImplementationEC1EPhij
.type _ZN12Cyg_Mempolt2I35Cyg_Mempool_dlmalloc_ImplementationEC1EPhij, %
function
_ZN12Cyg_Mempolt2I35Cyg_Mempool_dlmalloc_ImplementationEC1EPhij:
.LFB185:
.file 1
"/ecos-c/Arm/System/ecos-ram-eb40a_install/include/cyg/memalloc/mempolt2.inl"
.loc 1 73 0
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
.LCFI0:
stmfd sp!, {r4, fp, ip, lr, pc}
.LCFI1:
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 15:49 ` [Bug c++/14161] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-02-16 16:07 ` kczyz at zeus dot polsl dot gliwice dot pl
@ 2004-02-16 17:36 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 18:32 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: kczyz at zeus dot polsl dot gliwice dot pl @ 2004-02-16 17:36 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From kczyz at zeus dot polsl dot gliwice dot pl 2004-02-16 17:35 -------
>We cannot do anything without a testcase. Can you supply one besides say
>download eCOS
There is testcase:
---------------------
#include <iostream>
struct P
{
P (int i) { std::cout << "Doing " << i << std::endl; }
};
static P first(900) __attribute__ ((init_priority (900)));
static P second(300) __attribute__ ((init_priority (300)));
static P third(3) __attribute__ ((init_priority (3)));
int main ()
{
std::cout << "Blah." << std::endl;
return 0;
}
C>arm-elf-g++ test.cxx
test.cxx:10: warning: attributes after parenthesized initializer ignored
test.cxx:11: warning: attributes after parenthesized initializer ignored
test.cxx:12: warning: attributes after parenthesized initializer ignored
So attributes are ignored, should they be ignored or not?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
` (2 preceding siblings ...)
2004-02-16 17:36 ` kczyz at zeus dot polsl dot gliwice dot pl
@ 2004-02-16 18:32 ` pinskia at gcc dot gnu dot org
2004-02-16 19:11 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-20 7:13 ` mmitchel at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-16 18:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-16 18:32 -------
This works though (but does not compile with anything before 3.4.0):
#include <iostream>
#include <stdio.h>
struct P
{
P (int i) { printf("Doing %d\n", i ); }
};
static P first __attribute__ ((init_priority (900))) (900) ;
static P second __attribute__ ((init_priority (300))) (300);
static P third __attribute__ ((init_priority (200))) (3);
int main ()
{
std::cout << "Blah." << std::endl;
return 0;
}
--
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |3.4.0 3.5.0
Known to work| |3.3.3
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
` (3 preceding siblings ...)
2004-02-16 18:32 ` pinskia at gcc dot gnu dot org
@ 2004-02-16 19:11 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-20 7:13 ` mmitchel at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: kczyz at zeus dot polsl dot gliwice dot pl @ 2004-02-16 19:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From kczyz at zeus dot polsl dot gliwice dot pl 2004-02-16 19:11 -------
>This works though (but does not compile with anything before 3.4.0)
Yes, but why GCC3.4 doesn't suport old way of defining attributes ????
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14161] [3.4/3.5 Regression] Constructors invoking priority problem
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
` (4 preceding siblings ...)
2004-02-16 19:11 ` kczyz at zeus dot polsl dot gliwice dot pl
@ 2004-02-20 7:13 ` mmitchel at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-02-20 7:13 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-02-20 07:13 -------
The change to ignore the attributes was intentional.
See a message I posted to the mailing lists on 2002-08-13:
http://gcc.gnu.org/ml/gcc/2002-08/msg00792.html
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14161
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-02-20 7:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-16 15:44 [Bug c++/14161] New: Constructors invoking priority problem kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 15:49 ` [Bug c++/14161] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-02-16 16:07 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 17:36 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-16 18:32 ` pinskia at gcc dot gnu dot org
2004-02-16 19:11 ` kczyz at zeus dot polsl dot gliwice dot pl
2004-02-20 7:13 ` mmitchel at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).