public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions
@ 2008-12-18 17:42 daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` [Bug c/38571] " daniel dot sherwood at sepura dot com
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:42 UTC (permalink / raw)
To: gcc-bugs
WHen generating code, the compiler adds unnecessary '.align 2' assembeler
directives (where '.align 2' means align on a four byte boundary). This
results in extra padding being added between functions.
This occurs even when -fno-align-functions & -fno-align-labels are specified.
Richard Earnshaw [Richard.Earnshaw@arm.com] has confirmed that this is an issue
and requested that I raise it in bugzilla.
In the attached example (test.c), it can be seen in the generated assembly file
(test-align-thumb.s) that various .align 2 statements appear.
Command line was:
arm-none-eabi-gcc test.c -Os -S -mthumb -fno-align-functions -fno-align-labels
-o test-align-thumb.s
--
Summary: GCC/THUMB generates unnecessary padding between
functions
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: daniel dot sherwood at sepura dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-mingw32
GCC target triplet: arm-none-eabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c/38571] GCC/THUMB generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (2 preceding siblings ...)
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
@ 2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:44 ` daniel dot sherwood at sepura dot com
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from daniel dot sherwood at sepura dot com 2008-12-18 17:41 -------
Created an attachment (id=16933)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16933&action=view)
gcc -v output
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c/38571] GCC/THUMB generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` [Bug c/38571] " daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
@ 2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from daniel dot sherwood at sepura dot com 2008-12-18 17:42 -------
Created an attachment (id=16934)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16934&action=view)
Source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c/38571] GCC/THUMB generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` [Bug c/38571] " daniel dot sherwood at sepura dot com
@ 2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from daniel dot sherwood at sepura dot com 2008-12-18 17:42 -------
Created an attachment (id=16936)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16936&action=view)
Generated assembly
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c/38571] GCC/THUMB generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
@ 2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from daniel dot sherwood at sepura dot com 2008-12-18 17:42 -------
Created an attachment (id=16934)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16934&action=view)
Source
------- Comment #3 from daniel dot sherwood at sepura dot com 2008-12-18 17:42 -------
Created an attachment (id=16935)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16935&action=view)
Source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c/38571] GCC/THUMB generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (3 preceding siblings ...)
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
@ 2008-12-18 17:44 ` daniel dot sherwood at sepura dot com
2009-04-22 23:09 ` [Bug target/38571] [arm] -mthumb " ramana at gcc dot gnu dot org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: daniel dot sherwood at sepura dot com @ 2008-12-18 17:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from daniel dot sherwood at sepura dot com 2008-12-18 17:43 -------
Following comment received from Richard.Earnshaw@arm.com by e-mail.
======
Often this is necessary (for example, if the function contains a literal pool);
but it isn't always so. Again, if there is no existing case in bugzilla,
perhaps you could file one.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (4 preceding siblings ...)
2008-12-18 17:44 ` daniel dot sherwood at sepura dot com
@ 2009-04-22 23:09 ` ramana at gcc dot gnu dot org
2009-04-23 0:46 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-22 23:09 UTC (permalink / raw)
To: gcc-bugs
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-04-22 23:09:35
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (5 preceding siblings ...)
2009-04-22 23:09 ` [Bug target/38571] [arm] -mthumb " ramana at gcc dot gnu dot org
@ 2009-04-23 0:46 ` pinskia at gcc dot gnu dot org
2009-04-24 16:01 ` ramana at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-04-23 0:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pinskia at gcc dot gnu dot org 2009-04-23 00:45 -------
The reason why this happens is because FUNCTION_BOUNDARY is defined as just 32
for both arm and thumb mode.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (6 preceding siblings ...)
2009-04-23 0:46 ` pinskia at gcc dot gnu dot org
@ 2009-04-24 16:01 ` ramana at gcc dot gnu dot org
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-24 16:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from ramana at gcc dot gnu dot org 2009-04-24 16:00 -------
(In reply to comment #6)
> The reason why this happens is because FUNCTION_BOUNDARY is defined as just 32
> for both arm and thumb mode.
>
FUNCTION_BOUNDARY should be 32 for ARM mode and 16 for Thumb mode as defined by
the ARM ELF standard. Testing a patch for this.
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |ramana at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2009-04-22 23:09:35 |2009-04-24 16:00:52
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (8 preceding siblings ...)
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
@ 2009-04-30 10:05 ` ramana at gcc dot gnu dot org
2009-04-30 10:06 ` ramana at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-30 10:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ramana at gcc dot gnu dot org 2009-04-30 10:05 -------
Subject: Bug 38571
Author: ramana
Date: Thu Apr 30 10:04:52 2009
New Revision: 147000
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147000
Log:
Fix PR target/38571
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (7 preceding siblings ...)
2009-04-24 16:01 ` ramana at gcc dot gnu dot org
@ 2009-04-30 10:05 ` ramana at gcc dot gnu dot org
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
2009-04-30 10:06 ` ramana at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-30 10:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from ramana at gcc dot gnu dot org 2009-04-30 10:05 -------
This is now fixed with r147000
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/38571] [arm] -mthumb generates unnecessary padding between functions
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
` (9 preceding siblings ...)
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
@ 2009-04-30 10:06 ` ramana at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu dot org @ 2009-04-30 10:06 UTC (permalink / raw)
To: gcc-bugs
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38571
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-04-30 10:06 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-18 17:42 [Bug c/38571] New: GCC/THUMB generates unnecessary padding between functions daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` [Bug c/38571] " daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:43 ` daniel dot sherwood at sepura dot com
2008-12-18 17:44 ` daniel dot sherwood at sepura dot com
2009-04-22 23:09 ` [Bug target/38571] [arm] -mthumb " ramana at gcc dot gnu dot org
2009-04-23 0:46 ` pinskia at gcc dot gnu dot org
2009-04-24 16:01 ` ramana at gcc dot gnu dot org
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
2009-04-30 10:05 ` ramana at gcc dot gnu dot org
2009-04-30 10:06 ` ramana 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).