public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object)
@ 2009-09-20 15:15 joel at gcc dot gnu dot org
2009-09-20 15:21 ` [Bug ada/41419] " joel at gcc dot gnu dot org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 15:15 UTC (permalink / raw)
To: gcc-bugs
Starting program:
/users/joel/test-gcc/gcc-svn/gcc/testsuite/ada/acats/work-jmr3904/tests/a/a85013b/a85013b
,.,. A85013B ACATS 2.5 88-01-01 00:00:00
---- A85013B CHECK THAT A SUBPROGRAM CAN BE RENAMED WITHIN ITS OWN BODY
AND THAT THE NEW NAME CAN BE USED IN A RENAMING
DECLARATION.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x88004be8 in system.task_primitives.operations.create_task (t=0x881a2e90,
wrapper=(system.address) 0x8800c7c8, stack_size=<value optimized out>,
priority=122) at s-taprop.adb:962
962 Adjusted_Stack_Size - Adjusted_Stack_Size mod Page_Size;
Current language: auto
The current source language is "auto; currently ada".
(gdb) bt
#0 0x88004be8 in system.task_primitives.operations.create_task (t=0x881a2e90,
wrapper=(system.address) 0x8800c7c8, stack_size=<value optimized out>,
priority=122) at s-taprop.adb:962
#1 0x8800bbe0 in system.tasking.stages.activate_tasks (
chain_access=<value optimized out>) at s-tassta.adb:291
#2 0x8800390c in _ada_a85013b ()
(gdb)
When I disassemble at 0x88004be8, I see this:
0x88004be0 <system__task_primitives__operations__create_task+136>: bnez
s4,0x88004bec <system__task_primitives__operations__create_task+148>
0x88004be4 <system__task_primitives__operations__create_task+140>: divu
zero,s5,s4
0x88004be8 <system__task_primitives__operations__create_task+144>: break
0x7
To confirm this was actually in the program executable, I objdump'ed it.
88004be0: 16800002 bnez s4,88004bec
<system__task_primitives__operations__create_task+0x94>
88004be4: 02b4001b divu zero,s5,s4
88004be8: 0007000d break 0x7
--
Summary: [450 regression] many new ACATs failures (breakpoint
instruction in object)
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joel at gcc dot gnu dot org
GCC target triplet: mips-rtems4.10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
@ 2009-09-20 15:21 ` joel at gcc dot gnu dot org
2009-09-20 15:33 ` laurent at guerby dot net
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 15:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from joel at gcc dot gnu dot org 2009-09-20 15:20 -------
Should have included command line. This is for arch=r3900.
mips-rtems4.10-gnatmake --RTS=. -fstack-check -v -O -gnatws -O2
-I/users/joel/test-gcc/gcc-svn/gcc/testsuite/ada/acats/work-jmr3904/support
a85013b.adb -bargs -Mgnat_main -largs
-B/users/joel/test-gcc/install-svn/mips-rtems4.10/jmr3904/lib/ -specs bsp_specs
-qrtems -march=r3900 -Wa,-xgot -G0
/users/joel/test-gcc/gcc-svn/gcc/testsuite/ada/acats/work-jmr3904/rtems_init.o
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
2009-09-20 15:21 ` [Bug ada/41419] " joel at gcc dot gnu dot org
@ 2009-09-20 15:33 ` laurent at guerby dot net
2009-09-20 15:56 ` joel at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: laurent at guerby dot net @ 2009-09-20 15:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from laurent at guerby dot net 2009-09-20 15:33 -------
Ada code in s-taprop-posix.adb
Result := pthread_attr_init (Attributes'Access);
pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Succeeded := False;
return;
end if;
Could you breakpoint on pthread_attr_init and see what's going on from there
(what is passed to and returned by RTEMS)? May be the "break 07" is just what
pragma Assert does.
--
laurent at guerby dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |laurent at guerby dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
2009-09-20 15:21 ` [Bug ada/41419] " joel at gcc dot gnu dot org
2009-09-20 15:33 ` laurent at guerby dot net
@ 2009-09-20 15:56 ` joel at gcc dot gnu dot org
2009-09-20 16:28 ` laurent at guerby dot net
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 15:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from joel at gcc dot gnu dot org 2009-09-20 15:56 -------
The debug information is weak since optimization hides a lot. But it looks
like Page_Size might be 0.
(gdb) c
Continuing.
,.,. A85013B ACATS 2.5 88-01-01 00:00:00
---- A85013B CHECK THAT A SUBPROGRAM CAN BE RENAMED WITHIN ITS OWN BODY
AND THAT THE NEW NAME CAN BE USED IN A RENAMING
DECLARATION.
Breakpoint 3, pthread_attr_init (attr=0x880b6c78) at
/users/joel/test-gcc/rtems/c/src/../../cpukit/posix/src/pthreadattrinit.c:28
28 if ( !attr )
(gdb) s
31 *attr = _POSIX_Threads_Default_attributes;
(gdb)
32 return 0;
(gdb)
system.task_primitives.operations.create_task (t=0x881a2e90,
wrapper=(system.address) 0x8800c7c8, stack_size=<value optimized out>,
priority=122) at s-taprop.adb:967
967 if Result /= 0 then
Current language: auto
The current source language is "auto; currently ada".
(gdb) p Result
$1 = <value optimized out>
(gdb) s
960 Adjusted_Stack_Size := Adjusted_Stack_Size + Page_Size - 1;
(gdb) p Adjusted_Stack_Size
$2 = <value optimized out>
(gdb) s
974 (Attributes'Access, PTHREAD_CREATE_DETACHED);
(gdb) s
pthread_attr_setdetachstate (attr=0x880b6c78, detachstate=0) at
/users/joel/test-gcc/rtems/c/src/../../cpukit/posix/src/pthreadattrsetdetachstate.c:26
26 if ( !attr || !attr->is_initialized )
Current language: auto
The current source language is "auto; currently c".
(gdb) s
29 switch ( detachstate ) {
(gdb)
32 attr->detachstate = detachstate;
(gdb)
33 return 0;
(gdb)
system.task_primitives.operations.create_task (t=0x881a2e90,
wrapper=(system.address) 0x8800c7c8, stack_size=<value optimized out>,
priority=122) at s-taprop.adb:962
962 Adjusted_Stack_Size - Adjusted_Stack_Size mod Page_Size;
Current language: auto
The current source language is "auto; currently ada".
(gdb)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (2 preceding siblings ...)
2009-09-20 15:56 ` joel at gcc dot gnu dot org
@ 2009-09-20 16:28 ` laurent at guerby dot net
2009-09-20 16:40 ` joel at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: laurent at guerby dot net @ 2009-09-20 16:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from laurent at guerby dot net 2009-09-20 16:28 -------
from s-osinte-rtems.adb:
function Get_Page_Size return size_t is
begin
return 0;
end Get_Page_Size;
May be this value wasn't used before...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (3 preceding siblings ...)
2009-09-20 16:28 ` laurent at guerby dot net
@ 2009-09-20 16:40 ` joel at gcc dot gnu dot org
2009-09-20 16:46 ` joel at gcc dot gnu dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 16:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from joel at gcc dot gnu dot org 2009-09-20 16:40 -------
The LynxOS s-osinte-lynxos.ads has this:
function Get_Page_Size return size_t;
function Get_Page_Size return Address;
pragma Import (C, Get_Page_Size, "getpagesize");
-- Returns the size of a page, or 0 if this is not relevant on this
-- target
I can't find any reference in the GNU/Linux man pages or at opengroup.org on 0
being allowed or not allowed. But apparently whoever worked on that port
thought 0 was a valid thing to return also.
Doesn't matter much. RTEMS has PAGE_SIZE defined and the support for
sysconf(_SC_PAGESIZE) so I will just add a wrapper to that for the legacy
getpagesize().
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (4 preceding siblings ...)
2009-09-20 16:40 ` joel at gcc dot gnu dot org
@ 2009-09-20 16:46 ` joel at gcc dot gnu dot org
2009-09-20 16:58 ` charlet at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 16:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from joel at gcc dot gnu dot org 2009-09-20 16:46 -------
Every s-osinte*.ads which has Get_Page_Size includes a comment about 0 being
valid to return and indicate that Page_Size does not matter.
-- Returns the size of a page, or 0 if this is not relevant on this target
Either every OS's interface has a wrong claim in its comments or someone
violated this assumption.
Before I paper over this on RTEMS, I would appreciate someone making a comment
on the general requirements.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (5 preceding siblings ...)
2009-09-20 16:46 ` joel at gcc dot gnu dot org
@ 2009-09-20 16:58 ` charlet at gcc dot gnu dot org
2009-09-20 16:59 ` laurent at guerby dot net
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: charlet at gcc dot gnu dot org @ 2009-09-20 16:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from charlet at gcc dot gnu dot org 2009-09-20 16:58 -------
Get_Page_Size should indeed now not be a dummy value and cannot be 0.
I'll take care of updating the comments in s-osinte*.ads when I get a chance
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (6 preceding siblings ...)
2009-09-20 16:58 ` charlet at gcc dot gnu dot org
@ 2009-09-20 16:59 ` laurent at guerby dot net
2009-09-20 17:12 ` joel at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: laurent at guerby dot net @ 2009-09-20 16:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from laurent at guerby dot net 2009-09-20 16:59 -------
Given s-taprop-posix code it's obvious that Page_Size cannot be zero:
-- Round stack size as this is required by some OSes (Darwin)
Adjusted_Stack_Size := Adjusted_Stack_Size + Page_Size - 1;
Adjusted_Stack_Size :=
Adjusted_Stack_Size - Adjusted_Stack_Size mod Page_Size;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (7 preceding siblings ...)
2009-09-20 16:59 ` laurent at guerby dot net
@ 2009-09-20 17:12 ` joel at gcc dot gnu dot org
2009-09-20 19:40 ` joel at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 17:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from joel at gcc dot gnu dot org 2009-09-20 17:12 -------
Thanks for the quick response. I am in the process of adding getpagesize() to
RTEMS. We already had sysconf(_SC_PAGESIZE) and returned 4096. I will change
the s-osinte-rtems.ad* to use that and post a patch when it is tested.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [450 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (8 preceding siblings ...)
2009-09-20 17:12 ` joel at gcc dot gnu dot org
@ 2009-09-20 19:40 ` joel at gcc dot gnu dot org
2009-09-20 21:00 ` [Bug ada/41419] [4.5 " pinskia at gcc dot gnu dot org
2009-09-22 13:07 ` joel at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-20 19:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from joel at gcc dot gnu dot org 2009-09-20 19:40 -------
Created an attachment (id=18619)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18619&action=view)
RTEMS Get_Page_Size should no longer return 0
With this patch only 1 ACATS failed. Is it OK to commit?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [4.5 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (9 preceding siblings ...)
2009-09-20 19:40 ` joel at gcc dot gnu dot org
@ 2009-09-20 21:00 ` pinskia at gcc dot gnu dot org
2009-09-22 13:07 ` joel at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-09-20 21:00 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[450 regression] many new |[4.5 regression] many new
|ACATs failures (breakpoint |ACATs failures (breakpoint
|instruction in object) |instruction in object)
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug ada/41419] [4.5 regression] many new ACATs failures (breakpoint instruction in object)
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
` (10 preceding siblings ...)
2009-09-20 21:00 ` [Bug ada/41419] [4.5 " pinskia at gcc dot gnu dot org
@ 2009-09-22 13:07 ` joel at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: joel at gcc dot gnu dot org @ 2009-09-22 13:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from joel at gcc dot gnu dot org 2009-09-22 13:07 -------
Patch applied to head. GNAT/RTEMS for the mips has 1 failure now and that is a
blown stack. c380004 takes a lot of stack.
Thanks.
--
joel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41419
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-09-22 13:07 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-20 15:15 [Bug ada/41419] New: [450 regression] many new ACATs failures (breakpoint instruction in object) joel at gcc dot gnu dot org
2009-09-20 15:21 ` [Bug ada/41419] " joel at gcc dot gnu dot org
2009-09-20 15:33 ` laurent at guerby dot net
2009-09-20 15:56 ` joel at gcc dot gnu dot org
2009-09-20 16:28 ` laurent at guerby dot net
2009-09-20 16:40 ` joel at gcc dot gnu dot org
2009-09-20 16:46 ` joel at gcc dot gnu dot org
2009-09-20 16:58 ` charlet at gcc dot gnu dot org
2009-09-20 16:59 ` laurent at guerby dot net
2009-09-20 17:12 ` joel at gcc dot gnu dot org
2009-09-20 19:40 ` joel at gcc dot gnu dot org
2009-09-20 21:00 ` [Bug ada/41419] [4.5 " pinskia at gcc dot gnu dot org
2009-09-22 13:07 ` joel 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).