> On Nov 1, 2015, at 8:24 AM, Fred <open...@crowsons.com> wrote: > > Hi ports@ > > I'm trying to bring our pcc port upto 1.1.0 > > With the attached diff pcc builds, but when I try to compile a file I get: > > port:fred ~/code/c/stuff> pcc -o hello hw.c > ld: cannot find -lpcc > error: ld terminated with status 1
you need libpcc. I wouldn't try for 1.1.0. If I remember correctly it had a build problem and also lots of fixes to pcc since then. here's a more recent diff to get close to current pcc which you can play with if interested: http://dickman.org/openbsd/pcc/ > > Using LD_DEBUG=1 gives more information [1] and the output of ktrace is in > the attached pccdump file. > > Any clues as to what I'm missing would be appreciated. > > Cheers > > Fred > > [1] > port:fred ~/code/c/stuff> pcc -o hello hw.c > rtld loading: 'pcc' > exe load offset: 0x111228a00000 > flags pcc = 0x0 > head pcc > obj pcc has pcc as head > examining: 'pcc' > loading: libc.so.83.0 required by pcc > flags /usr/lib/libc.so.83.0 = 0x0 > obj /usr/lib/libc.so.83.0 has pcc as head > linking dep /usr/lib/libc.so.83.0 as child of pcc > examining: '/usr/lib/libc.so.83.0' > flags /usr/libexec/ld.so = 0x0 > obj /usr/libexec/ld.so has pcc as head > relocation took 0.000157 > Start End Type Open Ref GrpRef Name > 0000111228a00000 0000111228e09000 exe 1 0 0 pcc > 00001114a1980000 00001114a1e49000 rlib 0 1 0 /usr/lib/libc.so.83.0 > 00001114d8f00000 00001114d8f00000 rtld 0 1 0 /usr/libexec/ld.so > symcache lookups 74 hits 0 ratio 0% hits > dynamic loading done, success. > doing ctors obj 0x1114e14ccc00 @0x1114a19963c0: [/usr/lib/libc.so.83.0] > entry point: 0x111228a02e40 > rtld loading: '/usr/local/libexec/cpp' > exe load offset: 0x1fca77d00000 > flags /usr/local/libexec/cpp = 0x0 > head /usr/local/libexec/cpp > obj /usr/local/libexec/cpp has /usr/local/libexec/cpp as head > examining: '/usr/local/libexec/cpp' > loading: libc.so.83.0 required by /usr/local/libexec/cpp > flags /usr/lib/libc.so.83.0 = 0x0 > obj /usr/lib/libc.so.83.0 has /usr/local/libexec/cpp as head > linking dep /usr/lib/libc.so.83.0 as child of /usr/local/libexec/cpp > examining: '/usr/lib/libc.so.83.0' > flags /usr/libexec/ld.so = 0x0 > obj /usr/libexec/ld.so has /usr/local/libexec/cpp as head > relocation took 0.000095 > Start End Type Open Ref GrpRef Name > 00001fca77d00000 00001fca7825b000 exe 1 0 0 /usr/local/libexec/cpp > 00001fccddc5d000 00001fccde126000 rlib 0 1 0 /usr/lib/libc.so.83.0 > 00001fcd50c00000 00001fcd50c00000 rtld 0 1 0 /usr/libexec/ld.so > symcache lookups 61 hits 0 ratio 0% hits > dynamic loading done, success. > doing ctors obj 0x1fcd132ea400 @0x1fccddc733c0: [/usr/lib/libc.so.83.0] > entry point: 0x1fca77d02010 > doing dtors > doing dtors obj 0x1fcd132ea400 @0x1fccddcf9800: [/usr/lib/libc.so.83.0] > rtld loading: '/usr/local/libexec/ccom' > exe load offset: 0x1a4a83800000 > flags /usr/local/libexec/ccom = 0x0 > head /usr/local/libexec/ccom > obj /usr/local/libexec/ccom has /usr/local/libexec/ccom as head > examining: '/usr/local/libexec/ccom' > loading: libc.so.83.0 required by /usr/local/libexec/ccom > flags /usr/lib/libc.so.83.0 = 0x0 > obj /usr/lib/libc.so.83.0 has /usr/local/libexec/ccom as head > linking dep /usr/lib/libc.so.83.0 as child of /usr/local/libexec/ccom > examining: '/usr/lib/libc.so.83.0' > flags /usr/libexec/ld.so = 0x0 > obj /usr/libexec/ld.so has /usr/local/libexec/ccom as head > relocation took 0.000112 > Start End Type Open Ref GrpRef Name > 00001a4a83800000 00001a4a83c7d000 exe 1 0 0 /usr/local/libexec/ccom > 00001a4d4a444000 00001a4d4a90d000 rlib 0 1 0 /usr/lib/libc.so.83.0 > 00001a4c8b000000 00001a4c8b000000 rtld 0 1 0 /usr/libexec/ld.so > symcache lookups 62 hits 0 ratio 0% hits > dynamic loading done, success. > doing ctors obj 0x1a4ca3ab2800 @0x1a4d4a45a3c0: [/usr/lib/libc.so.83.0] > entry point: 0x1a4a83809660 > doing dtors > doing dtors obj 0x1a4ca3ab2800 @0x1a4d4a4e0800: [/usr/lib/libc.so.83.0] > rtld loading: 'as' > exe load offset: 0x6906be00000 > flags as = 0x0 > head as > obj as has as as head > examining: 'as' > loading: libiberty.so.12.0 required by as > flags /usr/lib/libiberty.so.12.0 = 0x0 > obj /usr/lib/libiberty.so.12.0 has as as head > loading: libc.so.84.0 required by as > flags /usr/lib/libc.so.84.0 = 0x0 > obj /usr/lib/libc.so.84.0 has as as head > linking dep /usr/lib/libiberty.so.12.0 as child of as > linking dep /usr/lib/libc.so.84.0 as child of as > examining: '/usr/lib/libiberty.so.12.0' > examining: '/usr/lib/libc.so.84.0' > flags /usr/libexec/ld.so = 0x0 > obj /usr/libexec/ld.so has as as head > relocation took 0.000225 > Start End Type Open Ref GrpRef Name > 000006906be00000 000006906c303000 exe 1 0 0 as > 0000069273787000 0000069273bb2000 rlib 0 1 0 > /usr/lib/libiberty.so.12.0 > 000006934fb78000 0000069350041000 rlib 0 1 0 /usr/lib/libc.so.84.0 > 00000692b3200000 00000692b3200000 rtld 0 1 0 /usr/libexec/ld.so > symcache lookups 111 hits 0 ratio 0% hits > dynamic loading done, success. > doing ctors obj 0x6934cbcfc00 @0x6927378eba0: [/usr/lib/libiberty.so.12.0] > doing ctors obj 0x692e8bf7000 @0x6934fb8e250: [/usr/lib/libc.so.84.0] > entry point: 0x6906be25d20 > doing dtors > doing dtors obj 0x6934cbcfc00 @0x692737a9f60: [/usr/lib/libiberty.so.12.0] > doing dtors obj 0x692e8bf7000 @0x6934fc14710: [/usr/lib/libc.so.84.0] > rtld loading: 'ld' > exe load offset: 0x10f7c6800000 > flags ld = 0x0 > head ld > obj ld has ld as head > examining: 'ld' > loading: libiberty.so.12.0 required by ld > flags /usr/lib/libiberty.so.12.0 = 0x0 > obj /usr/lib/libiberty.so.12.0 has ld as head > loading: libc.so.84.0 required by ld > flags /usr/lib/libc.so.84.0 = 0x0 > obj /usr/lib/libc.so.84.0 has ld as head > linking dep /usr/lib/libiberty.so.12.0 as child of ld > linking dep /usr/lib/libc.so.84.0 as child of ld > examining: '/usr/lib/libiberty.so.12.0' > examining: '/usr/lib/libc.so.84.0' > flags /usr/libexec/ld.so = 0x0 > obj /usr/libexec/ld.so has ld as head > relocation took 0.000184 > Start End Type Open Ref GrpRef Name > 000010f7c6800000 000010f7c6d00000 exe 1 0 0 ld > 000010fa8ff87000 000010fa903b2000 rlib 0 1 0 > /usr/lib/libiberty.so.12.0 > 000010fab13fa000 000010fab18c3000 rlib 0 1 0 /usr/lib/libc.so.84.0 > 000010fa50700000 000010fa50700000 rtld 0 1 0 /usr/libexec/ld.so > symcache lookups 106 hits 0 ratio 0% hits > dynamic loading done, success. > doing ctors obj 0x10fa23f27800 @0x10fa8ff8eba0: [/usr/lib/libiberty.so.12.0] > doing ctors obj 0x10f9e6daa800 @0x10fab1410250: [/usr/lib/libc.so.84.0] > entry point: 0x10f7c681ef80 > doing dtors > doing dtors obj 0x10fa23f27800 @0x10fa8ffa9f60: [/usr/lib/libiberty.so.12.0] > doing dtors obj 0x10f9e6daa800 @0x10fab1496710: [/usr/lib/libc.so.84.0] > ld: cannot find -lpcc > error: ld terminated with status 1 > doing dtors > doing dtors obj 0x1114e14ccc00 @0x1114a1a1c800: [/usr/lib/libc.so.83.0] > > <pcc.diff> > <pccdump>