AVR C Runtime Library - Bugs: bug #19050, gcrt1.S should call main rather...
You are not allowed to post comments on this tracker with your current authentication level.
bug #19050: gcrt1.S should call main rather than jumping to it
Submitter: | Joerg Wunsch <joerg_wunsch> | ||
Submitted: | Tue 13 Feb 2007 12:29:02 PM UTC | ||
Category: | Library | Severity: | 4 - Important |
Priority: | 7 - High | Item Group: | Startup code |
Status: | Fixed | Assigned to: | joerg_wunsch |
Percent Complete: | 0% | Open/Closed: | Closed |
Release: | None | Fixed Release: | None |
Sat 17 Feb 2007 11:34:26 AM UTC, comment #4: |
Anatoly Sokolov <aesok> |
Sat 17 Feb 2007 11:25:50 AM UTC, comment #3: No new GCC testsuite regresion for "optimize_main_prologue.diff" patch. |
Anatoly Sokolov <aesok> |
Tue 13 Feb 2007 10:28:18 PM UTC, comment #2: In oficial GCC 4.x main() do not converted to a normal function. 'atmega256' patch does it.
|
Anatoly Sokolov <aesok> |
Tue 13 Feb 2007 04:51:48 PM UTC, comment #1: Call main() as a normal function have some drawback:
|
Anatoly Sokolov <aesok> |
Tue 13 Feb 2007 12:29:02 PM UTC, original submission:
Now with GCC 4.x, main() is treated as a normal function. As
|
Joerg Wunsch <joerg_wunsch> |
Depends on the following items: None found
Items that depend on this one: None found
Follow 10 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2007-05-08 | joerg_wunsch | Status | None | Fixed | |
Open/Closed | Open | Closed | |||
2007-05-08 | joerg_wunsch | Assigned to | None | joerg_wunsch | |
2007-05-06 | arcanum | Priority | 9 - Immediate | 7 - High | |
2007-02-17 | aesok | Attached File | - | Added mega256.diff, #11992 | |
Attached File | - | Added null-pointer-checks.diff, #11993 | |||
2007-02-16 | aesok | Attached File | - | Added optimize_main_prologue.diff, #11990 | |
2007-02-16 | aesok | Attached File | - | Added mega256-wo-main-as-normal.diff, #11989 | |
2007-02-16 | aesok | Attached File | - | Added main-as-normal.diff, #11988 | |
2007-02-13 | joerg_wunsch | Priority | 5 - Normal | 9 - Immediate |
Powered by Savane 3.13-4b48.
Corresponding source code
In atmega256 is solved one more general issue.
As Bjorn Haase wrote:
Two other general issues are fixed with gcc part of the present patch family:
1.) citing from the gcc info pages:
`-fdelete-null-pointer-checks'
Use global dataflow analysis to identify and eliminate useless
checks for null pointers. The compiler assumes that dereferencing
a null pointer would have halted the program. If a pointer is
checked after it has already been dereferenced, it cannot be null.
In some environments, this assumption is not true, and programs can
safely dereference null pointers. Use
`-fno-delete-null-pointer-checks' to disable this optimization for
programs which depend on that behavior.
The AVR HW does not implement null-pointer-checks and this option now is
allways used for the avr target.
2.) make main a normal function
.....
I split "mega256-wo-main-as-normal.diff" patch in "mega256.diff" and "null-pointer-checks.diff".
(file #11992, file #11993)