comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Differences between gnat 4.4.5 and 4.5.1
Date: Sun, 20 Mar 2011 21:11:04 +0100
Date: 2011-03-20T21:11:04+01:00	[thread overview]
Message-ID: <87d3lltuw7.fsf@ludovic-brenta.org> (raw)
In-Reply-To: 87mxl2vemt.fsf@ludovic-brenta.org

I wrote on 2011-03-10 on comp.lang.ada:
> Personally I'd be inclined to think the difference in size is due to
> the compiler, not differences between distributions.  I'd have to
> check with gnat-4.5 when it reaches a usable state.

OK, I've got gnat-4.5 installed on my machine now (with all Debian
patches ported).  Here are my results:

gnat-4.4:


$ ls -lrt hello*
  -rwxr-xr-x  1 lbrenta lbrenta 13728 2011-03-17T20:35:58 hello
  -rw-r--r--  1 lbrenta lbrenta  2944 2011-03-17T20:35:57 hello.o
  -rw-r--r--  1 lbrenta lbrenta  2240 2011-03-17T20:35:57 hello.ali

$ objdump --headers hello
hello:     file format elf64-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .interp       0000001c  0000000000400200  0000000000400200  00000200  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .note.ABI-tag 00000020  000000000040021c  000000000040021c  0000021c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .note.gnu.build-id 00000024  000000000040023c  000000000040023c  0000023c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .hash         00000264  0000000000400260  0000000000400260  00000260  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .gnu.hash     00000180  00000000004004c8  00000000004004c8  000004c8  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .dynsym       000007e0  0000000000400648  0000000000400648  00000648  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .dynstr       0000085b  0000000000400e28  0000000000400e28  00000e28  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .gnu.version  000000a8  0000000000401684  0000000000401684  00001684  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .gnu.version_r 00000040  0000000000401730  0000000000401730  00001730  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .rela.dyn     000003f0  0000000000401770  0000000000401770  00001770  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .rela.plt     00000348  0000000000401b60  0000000000401b60  00001b60  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 11 .init         00000018  0000000000401ea8  0000000000401ea8  00001ea8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 12 .plt          00000240  0000000000401ec0  0000000000401ec0  00001ec0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 13 .text         000004c8  0000000000402100  0000000000402100  00002100  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 14 .fini         0000000e  00000000004025c8  00000000004025c8  000025c8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 15 .rodata       00000080  00000000004025e0  00000000004025e0  000025e0  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 16 .eh_frame_hdr 00000044  0000000000402660  0000000000402660  00002660  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 17 .eh_frame     0000011c  00000000004026a8  00000000004026a8  000026a8  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 18 .gcc_except_table 00000018  00000000004027c4  00000000004027c4  000027c4  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 19 .ctors        00000010  00000000006027e0  00000000006027e0  000027e0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 20 .dtors        00000010  00000000006027f0  00000000006027f0  000027f0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 21 .jcr          00000008  0000000000602800  0000000000602800  00002800  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 22 .dynamic      000001c0  0000000000602808  0000000000602808  00002808  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 23 .got          00000008  00000000006029c8  00000000006029c8  000029c8  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 24 .got.plt      00000130  00000000006029d0  00000000006029d0  000029d0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 25 .data         000001c8  0000000000602b00  0000000000602b00  00002b00  2**4
                  CONTENTS, ALLOC, LOAD, DATA
 26 .bss          00000268  0000000000602ce0  0000000000602ce0  00002cc8  2**5
                  ALLOC
 27 .comment      00000056  0000000000000000  0000000000000000  00002cc8  2**0
                  CONTENTS, READONLY


gnat-4.5:

$ ls -lrt hello*
  -rwxr-xr-x  1 lbrenta lbrenta 15376 2011-03-20T20:56:55 hello
  -rw-r--r--  1 lbrenta lbrenta  2936 2011-03-20T20:56:54 hello.o
  -rw-r--r--  1 lbrenta lbrenta  2240 2011-03-20T20:56:54 hello.ali

$ objdump --headers hello
hello:     file format elf64-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .interp       0000001c  0000000000400200  0000000000400200  00000200  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .note.ABI-tag 00000020  000000000040021c  000000000040021c  0000021c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .note.gnu.build-id 00000024  000000000040023c  000000000040023c  0000023c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .hash         0000026c  0000000000400260  0000000000400260  00000260  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .gnu.hash     000001a4  00000000004004d0  00000000004004d0  000004d0  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .dynsym       00000810  0000000000400678  0000000000400678  00000678  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .dynstr       00000893  0000000000400e88  0000000000400e88  00000e88  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .gnu.version  000000ac  000000000040171c  000000000040171c  0000171c  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .gnu.version_r 00000040  00000000004017c8  00000000004017c8  000017c8  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .rela.dyn     00000408  0000000000401808  0000000000401808  00001808  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .rela.plt     00000360  0000000000401c10  0000000000401c10  00001c10  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 11 .init         00000018  0000000000401f70  0000000000401f70  00001f70  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 12 .plt          00000250  0000000000401f88  0000000000401f88  00001f88  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 13 .text         00000548  00000000004021e0  00000000004021e0  000021e0  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 14 .fini         0000000e  0000000000402728  0000000000402728  00002728  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 15 .rodata       000001e0  0000000000402740  0000000000402740  00002740  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 16 .eh_frame_hdr 00000044  0000000000402920  0000000000402920  00002920  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 17 .eh_frame     0000010c  0000000000402968  0000000000402968  00002968  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 18 .gcc_except_table 00000024  0000000000402a74  0000000000402a74  00002a74  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 19 .ctors        00000010  0000000000603000  0000000000603000  00003000  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 20 .dtors        00000010  0000000000603010  0000000000603010  00003010  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 21 .jcr          00000008  0000000000603020  0000000000603020  00003020  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 22 .dynamic      000001c0  0000000000603028  0000000000603028  00003028  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 23 .got          00000008  00000000006031e8  00000000006031e8  000031e8  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 24 .got.plt      00000138  00000000006031f0  00000000006031f0  000031f0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 25 .data         00000014  0000000000603328  0000000000603328  00003328  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 26 .bss          00000298  0000000000603340  0000000000603340  0000333c  2**5
                  ALLOC
 27 .comment      00000054  0000000000000000  0000000000000000  0000333c  2**0
                  CONTENTS, READONLY




Comparing the sizes of the sections shows a small increase in most
sections and a move of most data from .data to .rodata.  The .text
section, for example, has increased by 10%.

-- 
Ludovic Brenta.



  parent reply	other threads:[~2011-03-20 20:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-10  6:01 Differences between gnat 4.4.5 and 4.5.1 Noel Duffy
2011-03-10 13:48 ` Julian Leyh
2011-03-10 21:32   ` Mart van de Wege
2011-03-10 21:39     ` Ludovic Brenta
2011-03-11  9:16       ` Mart van de Wege
2011-03-20 20:11       ` Ludovic Brenta [this message]
2011-03-21  7:05         ` Noel Duffy
2011-03-21  7:52           ` Ludovic Brenta
2011-03-10 21:42     ` Noel Duffy
2011-03-10 21:36   ` Noel Duffy
2011-03-21  8:35 ` Dmitry A. Kazakov
2011-03-21 10:16   ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox