logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 1033b686d00b5f545117bbfab3e3643e3f48a73c
parent 583d84863c517f3a0ccd25b84dd195f9f14cefed
Author: Michael Forney <mforney@mforney.org>
Date:   Thu,  8 Jul 2021 22:00:18 -0700

musl: Use architecture-specific crt[in].s

This fixes .init so that gcc's crtbegin can call functions in .ctors.

Diffstat:

Mpkg/musl/gen.lua5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pkg/musl/gen.lua b/pkg/musl/gen.lua @@ -116,9 +116,10 @@ for _, lib in ipairs{'libm.a', 'librt.a', 'libpthread.a', 'libcrypt.a', 'libutil end local startfiles = {'$outdir/libc.a'} -for _, obj in ipairs{'crt1.o', 'crti.o', 'crtn.o', 'rcrt1.o', 'Scrt1.o'} do +for _, src in ipairs{'crt1.c', 'rcrt1.c', 'Scrt1.c', arch..'/crti.s', arch..'/crtn.s'} do + local obj = src:gsub('.-(%w*)%.[cs]$', '%1.o') local out = '$outdir/'..obj - build('cc', out, {'$srcdir/crt/'..obj:gsub('%.o$', '.c'), '|', '$gendir/deps'}, {cflags='$cflags -D CRT $cflags_nossp'}) + build('cc', out, {'$srcdir/crt/'..src, '|', '$gendir/deps'}, {cflags='$cflags $cflags_nossp'}) file('lib/'..obj, '644', out) table.insert(startfiles, out) end