From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c4ab69bf7d3638f1 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: Differences between gnat 4.4.5 and 4.5.1 Date: Sun, 20 Mar 2011 21:11:04 +0100 Organization: A noiseless patient Spider Message-ID: <87d3lltuw7.fsf@ludovic-brenta.org> References: <86tyfa3bmz.fsf@gareth.avalon.lan> <87mxl2vemt.fsf@ludovic-brenta.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: mx02.eternal-september.org; posting-host="zmS/90Ks1lNLZ2jk9dZrHw"; logging-data="32171"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1883WsenzAPDqXxhQ3fBYUM" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) Cancel-Lock: sha1:CDYzV6mom3J13D2lw14884fKh6s= sha1:YCJhzCNvmFK1uZQXycvNvS00Zpc= Xref: g2news2.google.com comp.lang.ada:19305 Date: 2011-03-20T21:11:04+01:00 List-Id: 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.