On Tue, 07 Aug 2012 18:14:36 +0200, Konstantin Staver <[email protected]> wrote:

Hi.

I'm trying to port phobos2 and druntime2 to OpenBSD 5.1. I found next problems:

Are you compiling HEAD?

1) D compiler loops with '-O -release' flags. For example:
$ cat test.d
module my_mod;

void MyFunc()
{
    int[2] arr;
    for (size_t i = 0; i < 2; ++i) {
        arr[i] = 1;
    }
}
$ pwd
/home/walnut/work/druntime
$ dmd -lib -oflib/libtest.a -m32 -O -release -Isrc ./test.d
^C

I will have a look at this. Can you recommend a live CD.

2) File druntime/src/rt/memory.d (http://goo.gl/iD3me). I don't know
about gc_addRange params for OpenBSD :-(

You need to find bracket symbols for the relevant ELF sections.
You'll need to find writeable allocated sections and bracket symbols provided by the linker script.

What's your output of this?
----
SHELL=/bin/sh script sections.txt

echo "void main() {}" > main.d
dmd main
readelf --segments main
readelf --sections main

# ld --verbose for linker script
dmd main -L--verbose
exit
----

3) "Empty main()" program crashes with segfault.

4) "Hello world" program failed to build with flag "-g" or "-gc":
$ cat hello.d
import std.stdio;
void main() { writeln("Hello, World!"); }
$ dmd -gc hello.d
Internal error: backend/cod3.c 2662

5) I don't know yet how implement poly from std.math (asm).

The only difference between OSes is the real padding, I guess it's 12byte as on linux and FreeBSD.

I'll be glad to any help: tips, links to docs and etc.

My work forks:
 https://github.com/MadSkipjack/druntime
 https://github.com/MadSkipjack/phobos

Thanks.
_______________________________________________
dmd-internals mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-internals
Script started on Wed Aug  8 12:49:43 2012

$ echo "void main() {}" > main.d
$ dmd main
DMD v2.060 DEBUG
$ readelf --segments main

Elf file type is EXEC (Executable file)
Entry point 0x414000
There are 9 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000400040 0x0000000000400040
                 0x00000000000001f8 0x00000000000001f8  R E    8
  INTERP         0x0000000000000238 0x0000000000400238 0x0000000000400238
                 0x0000000000000015 0x0000000000000015  R      1
      [Requesting program interpreter: /libexec/ld-elf.so.1]
  LOAD           0x0000000000000000 0x0000000000400000 0x0000000000400000
                 0x000000000002a924 0x000000000002a924  R E    200000
  LOAD           0x000000000002b000 0x000000000062b000 0x000000000062b000
                 0x00000000000046a0 0x0000000000004cb8  RW     200000
  DYNAMIC        0x000000000002b118 0x000000000062b118 0x000000000062b118
                 0x00000000000001b0 0x00000000000001b0  RW     8
  NOTE           0x0000000000000250 0x0000000000400250 0x0000000000400250
                 0x0000000000000018 0x0000000000000018  R      4
  TLS            0x000000000002b000 0x000000000062b000 0x000000000062b000
                 0x0000000000000010 0x0000000000000040  R      10
  GNU_EH_FRAME   0x000000000002a880 0x000000000042a880 0x000000000042a880
                 0x0000000000000024 0x0000000000000024  R      4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     8

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version 
.gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .deh_eh 
.eh_frame_hdr .eh_frame 
   03     .tdata .ctors .dtors .jcr .dynamic .got .got.plt .data .bss 
   04     .dynamic 
   05     .note.ABI-tag 
   06     .tdata .tbss 
   07     .eh_frame_hdr 
   08     
$ readelf --sections main
There are 32 section headers, starting at offset 0x2f7a8:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .interp           PROGBITS         0000000000400238  00000238
       0000000000000015  0000000000000000   A       0     0     1
  [ 2] .note.ABI-tag     NOTE             0000000000400250  00000250
       0000000000000018  0000000000000000   A       0     0     4
  [ 3] .hash             HASH             0000000000400268  00000268
       0000000000002068  0000000000000004   A       4     0     8
  [ 4] .dynsym           DYNSYM           00000000004022d0  000022d0
       0000000000006198  0000000000000018   A       5     1     8
  [ 5] .dynstr           STRTAB           0000000000408468  00008468
       000000000000aa06  0000000000000000   A       0     0     1
  [ 6] .gnu.version      VERSYM           0000000000412e6e  00012e6e
       0000000000000822  0000000000000002   A       4     0     2
  [ 7] .gnu.version_r    VERNEED          0000000000413690  00013690
       0000000000000060  0000000000000000   A       5     2     8
  [ 8] .rela.dyn         RELA             00000000004136f0  000136f0
       0000000000000078  0000000000000018   A       4     0     8
  [ 9] .rela.plt         RELA             0000000000413768  00013768
       0000000000000510  0000000000000018   A       4    11     8
  [10] .init             PROGBITS         0000000000413c78  00013c78
       0000000000000013  0000000000000000  AX       0     0     4
  [11] .plt              PROGBITS         0000000000413c8c  00013c8c
       0000000000000370  0000000000000010  AX       0     0     4
  [12] .text             PROGBITS         0000000000414000  00014000
       0000000000012838  0000000000000000  AX       0     0     16
  [13] .fini             PROGBITS         0000000000426838  00026838
       000000000000000e  0000000000000000  AX       0     0     4
  [14] .rodata           PROGBITS         0000000000426850  00026850
       0000000000003b80  0000000000000000   A       0     0     16
  [15] .deh_eh           PROGBITS         000000000042a3d0  0002a3d0
       00000000000004b0  0000000000000000   A       0     0     8
  [16] .eh_frame_hdr     PROGBITS         000000000042a880  0002a880
       0000000000000024  0000000000000000   A       0     0     4
  [17] .eh_frame         PROGBITS         000000000042a8a8  0002a8a8
       000000000000007c  0000000000000000   A       0     0     8
  [18] .tdata            PROGBITS         000000000062b000  0002b000
       0000000000000010  0000000000000000 WAT       0     0     16
  [19] .tbss             NOBITS           000000000062b010  0002b010
       0000000000000030  0000000000000000 WAT       0     0     16
  [20] .ctors            PROGBITS         000000000062b010  0002b010
       00000000000000e0  0000000000000000  WA       0     0     8
  [21] .dtors            PROGBITS         000000000062b0f0  0002b0f0
       0000000000000020  0000000000000000  WA       0     0     8
  [22] .jcr              PROGBITS         000000000062b110  0002b110
       0000000000000008  0000000000000000  WA       0     0     8
  [23] .dynamic          DYNAMIC          000000000062b118  0002b118
       00000000000001b0  0000000000000010  WA       5     0     8
  [24] .got              PROGBITS         000000000062b2c8  0002b2c8
       0000000000000028  0000000000000008  WA       0     0     8
  [25] .got.plt          PROGBITS         000000000062b2f0  0002b2f0
       00000000000001c8  0000000000000008  WA       0     0     8
  [26] .data             PROGBITS         000000000062b4c0  0002b4c0
       00000000000041e0  0000000000000000  WA       0     0     16
  [27] .bss              NOBITS           000000000062f6a0  0002f6a0
       0000000000000618  0000000000000000  WA       0     0     16
  [28] .comment          PROGBITS         0000000000000000  0002f6a0
       000000000000000a  0000000000000000           0     0     1
  [29] .shstrtab         STRTAB           0000000000000000  0002f6aa
       00000000000000fc  0000000000000000           0     0     1
  [30] .symtab           SYMTAB           0000000000000000  0002ffa8
       000000000000a728  0000000000000018          31   743     8
  [31] .strtab           STRTAB           0000000000000000  0003a6d0
       000000000000b6fd  0000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
$ 
$ # ld --verbose for linker script
$ dmd main -L--verbose
DMD v2.060 DEBUG
GNU ld 2.17.50 [FreeBSD] 2007-07-03
  Supported emulations:
   elf_x86_64_fbsd
   elf_i386_fbsd
using internal linker script:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd",
              "elf64-x86-64-freebsd")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = 0x400000); . = 0x400000 + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ldata .rel.ldata.* .rel.gnu.linkonce.l.*)
      *(.rel.lbss .rel.lbss.* .rel.gnu.linkonce.lb.*)
      *(.rel.lrodata .rel.lrodata.* .rel.gnu.linkonce.lr.*)
    }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
    }
  .rel.plt        : { *(.rel.plt) }
  .rela.plt       : { *(.rela.plt) }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .text           :
  {
    *(.text .stub .text.* .gnu.linkonce.t.*)
    KEEP (*(.text.*personality*))
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & 
(CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), 
CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata          : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss           : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) 
*(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    KEEP (*(.gnu.linkonce.d.*personality*))
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) 
:
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) }
}


==================================================
attempt to open /usr/lib/crt1.o succeeded
/usr/lib/crt1.o
attempt to open /usr/lib/crti.o succeeded
/usr/lib/crti.o
attempt to open /usr/lib/crtbegin.o succeeded
/usr/lib/crtbegin.o
attempt to open main.o succeeded
main.o
attempt to open /home/dawg/.local/D/lib64/libphobos2.so failed
attempt to open /home/dawg/.local/D/lib64/libphobos2.a succeeded
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_475_1a5.o
(/home/dawg/.local/D/lib64/libphobos2.a)memory_4be_620.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4cb_563.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4cc_696.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4cd_697.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4ce_564.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d0_5a5.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d1_3d3.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d6_565.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4e7_955.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4e8_951.o
(/home/dawg/.local/D/lib64/libphobos2.a)console.o
(/home/dawg/.local/D/lib64/libphobos2.a)console_51a_2d3.o
(/home/dawg/.local/D/lib64/libphobos2.a)string_51e_485.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1c_3a8.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__21_20a.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__22_3f2.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__f3_8af.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__f4_929.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__fa_86d.o
(/home/dawg/.local/D/lib64/libphobos2.a)runtime_160_76e.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1a7_5a0.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_30e_2dd.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_30f_2e1.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_310_390.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_311_3fd.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_312_40f.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_313_48b.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_314_404.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_315_410.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_316_405.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_317_3a1.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_318_3a5.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_319_397.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31a_40b.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31b_3b1.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31c_425.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31d_2cb.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31e_379.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_31f_399.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_320_35f.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_322_3f6.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_323_43f.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_324_55b.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc_325_5a4.o
(/home/dawg/.local/D/lib64/libphobos2.a)gcx_336_8a.o
(/home/dawg/.local/D/lib64/libphobos2.a)gcx_339_122.o
(/home/dawg/.local/D/lib64/libphobos2.a)gcx_33a_19a.o
(/home/dawg/.local/D/lib64/libphobos2.a)alloca_387_32a.o
(/home/dawg/.local/D/lib64/libphobos2.a)cast__431_611.o
(/home/dawg/.local/D/lib64/libphobos2.a)cast__432_4a0.o
(/home/dawg/.local/D/lib64/libphobos2.a)critical__44d_70c.o
(/home/dawg/.local/D/lib64/libphobos2.a)critical__44e_70b.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_467_421.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_46a_50f.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_46d_62b.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_498_5c0.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_49b_60d.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_49e_6c8.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_4a1_4cd.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_4a2_53b.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4c9_473.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4ca_72a.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d5_4d7.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d7_9e6.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4d9_9e8.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4db_9ea.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4dd_b10.o
(/home/dawg/.local/D/lib64/libphobos2.a)minfo_4df_b12.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor_.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_54b_42f.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_54c_4a8.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_54d_86e.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_char_55c_3ee.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1_257.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__4_34a.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__7_32e.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__c_58c.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__11_583.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__12_71e.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__15_594.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__16_739.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__17_5e4.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__20_3af.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__27_69d.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__28_648.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__29_5e4.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__37_85a.o
(/home/dawg/.local/D/lib64/libphobos2.a)atomic_4e_8fe.o
(/home/dawg/.local/D/lib64/libphobos2.a)atomic_fe_b16.o
(/home/dawg/.local/D/lib64/libphobos2.a)atomic_101_ef2.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_150_559.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_152_76e.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_153_4d4.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_154_619.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_156_74d.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_157_bd8.o
(/home/dawg/.local/D/lib64/libphobos2.a)runtime.o
(/home/dawg/.local/D/lib64/libphobos2.a)runtime_15f_2e4.o
(/home/dawg/.local/D/lib64/libphobos2.a)runtime_161_792.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_17b_607.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_17c_597.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_182_236.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_184_1b0.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_187_330.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_189_3bd.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_191_2e5.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_192_1b8.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_19a_21c.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_19e_28e.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1a0_48b.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1a2_6e4.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1aa_6f2.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1ab_291.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1ac_681.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1b0_595.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1b4_85e.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1b9_465.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1be_236.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1c8_1b8.o
(/home/dawg/.local/D/lib64/libphobos2.a)atomic_1d5_aa0.o
(/home/dawg/.local/D/lib64/libphobos2.a)time.o
(/home/dawg/.local/D/lib64/libphobos2.a)time_1ec_5cc.o
(/home/dawg/.local/D/lib64/libphobos2.a)time_1ee_53e.o
(/home/dawg/.local/D/lib64/libphobos2.a)mutex_303_213.o
(/home/dawg/.local/D/lib64/libphobos2.a)gc.o
(/home/dawg/.local/D/lib64/libphobos2.a)gcx.o
(/home/dawg/.local/D/lib64/libphobos2.a)gcx_335_29d.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_34b_240.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_34d_299.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_351_230.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_353_28e.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_354_391.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_355_37c.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_356_2bd.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_357_327.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA_358_359.o
(/home/dawg/.local/D/lib64/libphobos2.a)stdarg_361_b3c.o
(/home/dawg/.local/D/lib64/libphobos2.a)adi_382_20c.o
(/home/dawg/.local/D/lib64/libphobos2.a)critical_.o
(/home/dawg/.local/D/lib64/libphobos2.a)deh2_459_3b9.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_460_585.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_465_5ba.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_466_69d.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_470_2f2.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_472_2f9.o
(/home/dawg/.local/D/lib64/libphobos2.a)dmain2_474_2fd.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_47b_482.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_47e_7d5.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_47f_856.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_484_4a3.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_487_4e2.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_48d_46f.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_495_815.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_496_809.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4e9_6fd.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4ea_793.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4eb_632.o
(/home/dawg/.local/D/lib64/libphobos2.a)monitor__4ec_715.o
(/home/dawg/.local/D/lib64/libphobos2.a)tlsgc.o
(/home/dawg/.local/D/lib64/libphobos2.a)hash_51c_259.o
(/home/dawg/.local/D/lib64/libphobos2.a)string_51f_2fd.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_547_435.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_byte_558_3f4.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_C_559_3d0.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_ulong_56d_3fa.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_void_56f_403.o
(/home/dawg/.local/D/lib64/libphobos2.a)object_.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__3_34a.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__8_600.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__9_65e.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__a_522.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__b_66e.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__d_7f4.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__e_a07.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__f_6d3.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__10_6a8.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__13_612.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__14_597.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__18_59c.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__19_3e4.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1a_647.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1b_7a9.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1d_73e.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1e_732.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__1f_616.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__64_1697.o
(/home/dawg/.local/D/lib64/libphobos2.a)object__f9_29bc.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_147_3f7.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_148_47c.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_149_53c.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_14a_5e2.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_14b_670.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_14c_afb.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_14d_47c.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_14e_676.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_151_680.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_17e_897.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_17f_826.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_180_1b8.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_181_1b8.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_183_22e.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_18c_219.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_18f_2d8.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_19b_129.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_19d_129.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1a8_726.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1a9_302.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1ae_737.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1af_5f2.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_1b5_469.o
(/home/dawg/.local/D/lib64/libphobos2.a)time_1e3_346.o
(/home/dawg/.local/D/lib64/libphobos2.a)time_1ed_297.o
(/home/dawg/.local/D/lib64/libphobos2.a)time_1f3_48a.o
(/home/dawg/.local/D/lib64/libphobos2.a)exception_302_54c.o
(/home/dawg/.local/D/lib64/libphobos2.a)aaA.o
(/home/dawg/.local/D/lib64/libphobos2.a)stdarg_35f_aeb.o
(/home/dawg/.local/D/lib64/libphobos2.a)cast__433_46e.o
(/home/dawg/.local/D/lib64/libphobos2.a)deh2.o
(/home/dawg/.local/D/lib64/libphobos2.a)deh2_456_3c9.o
(/home/dawg/.local/D/lib64/libphobos2.a)deh2_457_525.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_489_4df.o
(/home/dawg/.local/D/lib64/libphobos2.a)lifetime_4a6_2a1.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_549_444.o
(/home/dawg/.local/D/lib64/libphobos2.a)errno_c.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_17d_713.o
(/home/dawg/.local/D/lib64/libphobos2.a)thread_193_155.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_Ag_548_436.o
(/home/dawg/.local/D/lib64/libphobos2.a)ti_ubyte_56a_3f5.o
attempt to open /home/dawg/.local/D/lib64/libpthread.so failed
attempt to open /home/dawg/.local/D/lib64/libpthread.a failed
attempt to open /usr/local/lib/libpthread.so failed
attempt to open /usr/local/lib/libpthread.a failed
attempt to open /usr/lib/libpthread.so succeeded
-lpthread (/usr/lib/libpthread.so)
attempt to open /home/dawg/.local/D/lib64/libm.so failed
attempt to open /home/dawg/.local/D/lib64/libm.a failed
attempt to open /usr/local/lib/libm.so failed
attempt to open /usr/local/lib/libm.a failed
attempt to open /usr/lib/libm.so succeeded
-lm (/usr/lib/libm.so)
attempt to open /home/dawg/.local/D/lib64/libgcc.so failed
attempt to open /home/dawg/.local/D/lib64/libgcc.a failed
attempt to open /usr/local/lib/libgcc.so failed
attempt to open /usr/local/lib/libgcc.a failed
attempt to open /usr/lib/libgcc.so failed
attempt to open /usr/lib/libgcc.a succeeded
attempt to open /home/dawg/.local/D/lib64/libgcc_s.so failed
attempt to open /home/dawg/.local/D/lib64/libgcc_s.a failed
attempt to open /usr/local/lib/libgcc_s.so failed
attempt to open /usr/local/lib/libgcc_s.a failed
attempt to open /usr/lib/libgcc_s.so succeeded
-lgcc_s (/usr/lib/libgcc_s.so)
attempt to open /home/dawg/.local/D/lib64/libc.so failed
attempt to open /home/dawg/.local/D/lib64/libc.a failed
attempt to open /usr/local/lib/libc.so failed
attempt to open /usr/local/lib/libc.a failed
attempt to open /usr/lib/libc.so succeeded
-lc (/usr/lib/libc.so)
attempt to open /home/dawg/.local/D/lib64/libgcc.so failed
attempt to open /home/dawg/.local/D/lib64/libgcc.a failed
attempt to open /usr/local/lib/libgcc.so failed
attempt to open /usr/local/lib/libgcc.a failed
attempt to open /usr/lib/libgcc.so failed
attempt to open /usr/lib/libgcc.a succeeded
attempt to open /home/dawg/.local/D/lib64/libgcc_s.so failed
attempt to open /home/dawg/.local/D/lib64/libgcc_s.a failed
attempt to open /usr/local/lib/libgcc_s.so failed
attempt to open /usr/local/lib/libgcc_s.a failed
attempt to open /usr/lib/libgcc_s.so succeeded
-lgcc_s (/usr/lib/libgcc_s.so)
attempt to open /usr/lib/crtend.o succeeded
/usr/lib/crtend.o
attempt to open /usr/lib/crtn.o succeeded
/usr/lib/crtn.o
$ exit

Script done on Wed Aug  8 12:49:47 2012
_______________________________________________
dmd-internals mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-internals

Reply via email to