tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] tcc-busybox-w32 broken since 20a1ebf (tccpp : get rid of


From: avih
Subject: [Tinycc-devel] tcc-busybox-w32 broken since 20a1ebf (tccpp : get rid of 'ch')
Date: Sat, 8 Oct 2022 20:50:35 +0000 (UTC)

Hi,

It's the first time I tried building it (cute), and turns out that it's 
currently broken.

tcc-busybox is:
  http://download.savannah.nongnu.org/releases/tinycc/tcc-busybox-for-win32.zip

building this busybox using tcc which was built from mob 20a1ebf
or later results in sh.exe which always prints "sh: applet not found".

The steps to reproduce below are using MSYS2 mingw, but it was
reproduced also after building win32 tcc in other environments.

Interestingly, renaming the binary to ash.exe seem to "fix" it. e.g.
  ./sh.exe -c 'echo hello'  #  -> sh: applet not found
  mv ./sh.exe ./ash.exe
  ./ash.exe -c 'echo hello'  #  -> hello

This happens with both win32 tcc i386 and x86-64, and tcc i386
does pass all tests (x86-64 fails some tests, but probably unrelated).

Building one commit earlier (85c32dd tccpp: integrate __has_include..)
and both i386 and x86-64 tcc build sh.exe which seem to work as expected.

I didn't try to find what fails in busybox, and the the bad commit
20a1ebf is quite big, so it's hard to pinpoint the culprit, if any.

regards,
avih


steps to reproduce using MSYS2 with mingw i686 and x86-64 installed:

the following prints "sh: applet not found" if built using tcc from
20a1ebf, but prints "OK" if built using tcc from 85c32dd or earlier.


# get the sources once:

mkdir /c/test \
&& cd /c/test \
&& wget 
http://download.savannah.nongnu.org/releases/tinycc/tcc-busybox-for-win32.zip \
&& unzip tcc-busybox-for-win32.zip \
&& git clone http://repo.or.cz/tinycc.git


# build tcc32, busybox, and test:
# MSYSTEM=... PATH=...  emulates the mingw32 desktop shortcut

cd /c/test/tinycc \
&& git clean -xfd \
&& rm -rf /c/test/tcc-busybox-for-win32/tcc \
&& (
    MSYSTEM=MINGW32 PATH=/mingw32/bin:$PATH \
    && ./configure --cpu=i386 --prefix=/c/test/tcc-busybox-for-win32/tcc \
    && make \
    && make install \
    && cd /c/test/tcc-busybox-for-win32/busybox \
    && rm -f ../sh.exe \
    && PATH=/c/test/tcc-busybox-for-win32/tcc \
    && tcc @0.tcc/busybox.tcc.rsp -w \
    && ../sh.exe -c 'echo OK'
)

# tcc64: ... MSYSTEM=MINGW64 PATH=/mingw64/bin:$PATH \
#            && ./configure --cpu=x86_64 --prefix=...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]