Date: Thu, 8 Jul 1999 09:45:04 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: salvador cc: djgpp-workers AT delorie DOT com, Andris Pavenis Subject: Re: .align directives in libc.a In-Reply-To: <37836D80.940DCA74@inti.gov.ar> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 7 Jul 1999, salvador wrote: > > And the same goes for the .align directives emitted > > by GCC, for function entry points and labels? > > They are normally 8 bytes or less for djgpp. In what version? 2.7.2.1 emits ".align 2", which is 4 bytes with Binutils 2.8.1. > Let me see what about gcc 2.96 new experimental optimization branch .... > Wow! it uses .align 16 by default for Linux (-O9 just in case ;-), > let me see a loop... > .p2align 4! for entry points of loops. So it seems the GCC maintainers go in that direction also. Is this alignment specific for Linux, or will GCC do the same in the DJGPP configuration? If it won't do so by default for DJGPP, is it hard to make it do so? Andris, is this change, if it is needed, also hard, like what you described yesterday for the filler value? If not, I think we should use the same alignment as Linux does. > I didn't time to run the benchmarks with it. > Is not very smart with the function starts (pushing all :-( If 2.95 is smarter, you could compile the benchmarks with -malign-* switches that force 16-byte alignment. As far as alignment goes, this would give you the same effect. Of course, you will need Binutils configured with 16-byte subsection alignment, to really see the effect.