From 292af2d420bdb3fed9229b9ecb90d35546ef922f Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Wed, 12 Feb 2020 23:43:05 -0800 Subject: musl: Build and install libc.so Although we statically link everything, this is useful for running dynamically linked binaries from pkgsrc. --- pkg/musl/gen.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'pkg') diff --git a/pkg/musl/gen.lua b/pkg/musl/gen.lua index eacd9209..7bffc080 100644 --- a/pkg/musl/gen.lua +++ b/pkg/musl/gen.lua @@ -57,8 +57,16 @@ for _, src in pairs(srcmap) do table.insert(srcs, src) end -lib('libc.a', srcs) +local objs = objects(srcs) +ar('libc.a', objs) file('lib/libc.a', '644', '$outdir/libc.a') +exe('libc.so', {'ldso/dlstart.c', 'ldso/dynlink.c', objs}, nil, { + ldflags='$ldflags -nostdlib -shared -Wl,-e,_dlstart', + ldlibs='-lgcc', +}) +file('lib/libc.so', '755', '$outdir/libc.so') +sym('lib/ld-musl-'..arch..'.so.1', 'libc.so') +sym('bin/ldd', '../lib/libc.so') local startfiles = {'$outdir/libc.a'} for _, obj in ipairs{'crt1.o', 'crti.o', 'crtn.o', 'rcrt1.o'} do -- cgit v1.2.3