[Issue 13873] New: Compiling with -debug -inline generates huge files

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed Dec 17 06:44:32 PST 2014


https://issues.dlang.org/show_bug.cgi?id=13873

          Issue ID: 13873
           Summary: Compiling with -debug -inline generates huge files
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: DMD
          Assignee: nobody at puremagic.com
          Reporter: dragoscarp at gmail.com

PR https://github.com/D-Programming-Language/dmd/pull/2561 introduced a
regression when compiling with -debug AND -inline.

This can be reproduced compiling a file foo.d that just imports std.algorithm.
In my use case I have an executable that is 40MB compiled with 2.065.0 and
350MB with 2.066.1.
master/HEAD has the same problem. 

> dmd foo.d -c -offoo.o && objdump -h foo.o | tail && ll foo.o
 43 .group.d_dso  00000014  0000000000000000  0000000000000000  00000968  2**0
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
 44 .data.d_dso_rec 00000008  0000000000000000  0000000000000000  00000980 
2**3
                  CONTENTS, ALLOC, LOAD, DATA
 45 .text.d_dso_init 00000030  0000000000000000  0000000000000000  00000988 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
 46 .dtors.d_dso_dtor 00000008  0000000000000000  0000000000000000  000009b8 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
 47 .ctors.d_dso_ctor 00000008  0000000000000000  0000000000000000  000009c0 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA

-rw-r--r-- 1 dcarp users 17K Dec 17 15:31 foo.o

> dmd foo.d -c -debug -offoo.o && objdump -h foo.o | tail && ll foo.o
 49 .group.d_dso  00000014  0000000000000000  0000000000000000  00000ba8  2**0
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
 50 .data.d_dso_rec 00000008  0000000000000000  0000000000000000  00000bc0 
2**3
                  CONTENTS, ALLOC, LOAD, DATA
 51 .text.d_dso_init 00000030  0000000000000000  0000000000000000  00000bc8 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
 52 .dtors.d_dso_dtor 00000008  0000000000000000  0000000000000000  00000bf8 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
 53 .ctors.d_dso_ctor 00000008  0000000000000000  0000000000000000  00000c00 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA

-rw-r--r-- 1 dcarp users 20K Dec 17 15:34 foo.o

> dmd foo.d -c -inline -offoo.o && objdump -h foo.o | tail && ll foo.o
185 .group.d_dso  00000014  0000000000000000  0000000000000000  00003a48  2**0
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
186 .data.d_dso_rec 00000008  0000000000000000  0000000000000000  00003a60 
2**3
                  CONTENTS, ALLOC, LOAD, DATA
187 .text.d_dso_init 00000030  0000000000000000  0000000000000000  00003a68 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
188 .dtors.d_dso_dtor 00000008  0000000000000000  0000000000000000  00003a98 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
189 .ctors.d_dso_ctor 00000008  0000000000000000  0000000000000000  00003aa0 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA

-rw-r--r-- 1 dcarp users 119K Dec 17 15:35 foo.o

> dmd foo.d -c -debug -inline -offoo.o && objdump -h foo.o | tail && ll foo.o
2824 .group.d_dso  00000014  0000000000000000  0000000000000000  000865c4  2**0
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
2825 .data.d_dso_rec 00000008  0000000000000000  0000000000000000  000865d8 
2**3
                  CONTENTS, ALLOC, LOAD, DATA
2826 .text.d_dso_init 00000030  0000000000000000  0000000000000000  000865e0 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
2827 .dtors.d_dso_dtor 00000008  0000000000000000  0000000000000000  00086610 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
2828 .ctors.d_dso_ctor 00000008  0000000000000000  0000000000000000  00086618 
2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA

-rw-r--r-- 1 dcarp users 2.8M Dec 17 15:37 foo.o

--


More information about the Digitalmars-d-bugs mailing list