diff --git a/etc/vlmcsd.ini b/etc/vlmcsd.ini index 089e005..16df81b 100644 --- a/etc/vlmcsd.ini +++ b/etc/vlmcsd.ini @@ -87,9 +87,17 @@ ;WhiteListingLevel = 0 # Check that the client time is within +/- 4 hours of the system time -# Command Line: -c0, -c1 +# Command line: -c0, -c1 ;CheckClientTime = false +# Maintain a list of CMIDs +# Command line: -M0, -M1 +;MaintainClients = false + +# Start with empty CMID list (Requires MaintainClients = true) +# Command line: -E0, -E1 +;StartEmpty = false + # Set activation interval to 2 hours # Command line: -A ;ActivationInterval = 2h @@ -107,7 +115,7 @@ ;group = vlmcsdgroup # Disable or enable the NDR64 transfer syntax in RPC (default enabled) -# Command line: -N0 and -B1 +# Command line: -N0 and -N1 ;UseNDR64 = true # Disable or enable bind time feature negotiation in RPC (default enabled) diff --git a/floppy/floppy144.vfd b/floppy/floppy144.vfd index 73dd760..81790e8 100644 Binary files a/floppy/floppy144.vfd and b/floppy/floppy144.vfd differ diff --git a/hotbird64-mass-build/make_linux b/hotbird64-mass-build/make_linux index e6b8570..65be5a8 100755 --- a/hotbird64-mass-build/make_linux +++ b/hotbird64-mass-build/make_linux @@ -7,8 +7,8 @@ export VLMCSD_VERSION="svn`svnversion`" export VERBOSE=3 export DNS_PARSER=internal -MAKEFLAGS="-j`nproc` -B" -REUSEOBJFLAGS="-j" +MAKEFLAGS="-j200 -B" +REUSEOBJFLAGS="-j200" SMALLCC="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" SMALLLD="-pipe -Wl,--hash-style=sysv -Wl,-z,norelro -Wl,--build-id=none" SMALL="$SMALLCC $SMALLLD" @@ -90,7 +90,7 @@ if [ $? != 0 ]; then exit $? fi -export CFLAGS="$CFLAGS -flto=jobserver -fvisibility=hidden -DIS_LIBRARY" +export CFLAGS="$CFLAGS -flto=16 -fvisibility=hidden -DIS_LIBRARY" export LDFLAGS="$LDFLAGS -static-libgcc" #make $MAKEFLAGS CRYPTO=windows FEATURES=minimum $DLL_NAME CAT=2 @@ -157,7 +157,7 @@ if [ $? != 0 ]; then exit $? fi -export CFLAGS="$CFLAGS -flto=jobserver -fvisibility=hidden -DIS_LIBRARY" +export CFLAGS="$CFLAGS -flto=16 -fvisibility=hidden -DIS_LIBRARY" export LDFLAGS="$LDFLAGS -static-libgcc" #make $MAKEFLAGS CRYPTO=windows FEATURES=minimum $DLL_NAME CAT=2 @@ -237,10 +237,11 @@ fi # Linux mips32el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips32el-openwrt-uclib export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips32el-openwrt-uclibc +export MULTI_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips32el-openwrt-uclibc export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc export CFLAGS="$SMALLCC -DNO_LIMIT" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" -export LDFLAGS="$SMALLLD" +export PLATFORMFLAGS="-flto=16 -fwhole-program" +export LDFLAGS="-lpthread $SMALLLD" export THREADS=0 make $MAKEFLAGS allmulti @@ -270,10 +271,11 @@ fi # Linux mips16el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain with statically linked libgcc for Asus routers, e.g. Asus RT-N66U export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-asus-rt-n66u-uclibc export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-asus-rt-n66u-uclibc +export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-asus-rt-n66u-uclibc export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc export CFLAGS="$SMALLCC -static-libgcc -DNO_LIMIT" -export PLATFORMFLAGS="-mips32 -mips16 -flto=jobserver -fwhole-program" -export LDFLAGS="$SMALLLD" +export PLATFORMFLAGS="-mips32 -mips16 -flto=16 -fwhole-program" +export LDFLAGS="-lpthread $SMALLLD" export THREADS=0 make $MAKEFLAGS allmulti @@ -304,8 +306,9 @@ fi # Linux mips16el with uClibc 0.9.33.2 using gcc 4.8 from OpenWRT toolchain export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-openwrt-uclibc export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-openwrt-uclibc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" -export LDFLAGS="$SMALLLD" +export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-openwrt-uclibc +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" +export LDFLAGS="-lpthread $SMALLLD" make $MAKEFLAGS allmulti @@ -336,7 +339,7 @@ export MULTI_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips16e export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2 #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=mips32 -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=mips32 -mips16" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -357,7 +360,7 @@ export PROGRAM_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc64-glibc export MULTI_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc64-glibc export CC=/opt/toolchains/ppc64-glibc2.19-gcc-4.9.1/bin/powerpc64-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -378,7 +381,7 @@ export PROGRAM_NAME=../binaries/Linux/ppc/little-endian/glibc/vlmcsd-ppc64el-gli export MULTI_NAME=../binaries/Linux/ppc/little-endian/glibc/vlmcsdmulti-ppc64el-glibc export CC=/opt/toolchains/ppc64el-glibc2.20-gcc-4.9.1/bin/powerpc64le-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -399,7 +402,7 @@ export PROGRAM_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc-glibc export MULTI_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc-glibc export CC=~/openwrt/staging_dir/toolchain-powerpc_405_gcc-4.8-linaro_eglibc-2.19/bin/powerpc-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program --sysroot=/opt/simplebuild/toolchains/powerpc -L/opt/simplebuild/toolchains/powerpc/lib -L/opt/simplebuild/toolchains/powerpc/usr/lib" +export PLATFORMFLAGS="-flto=16 -fwhole-program --sysroot=/opt/simplebuild/toolchains/powerpc -L/opt/simplebuild/toolchains/powerpc/lib -L/opt/simplebuild/toolchains/powerpc/usr/lib" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -421,7 +424,7 @@ export MULTI_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips32-ope export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -444,7 +447,7 @@ export MULTI_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips16-ope export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -467,7 +470,7 @@ export MULTI_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips32e export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2 #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32" export LDFLAGS="$SMALLLD" export THREADS=0 @@ -486,9 +489,10 @@ fi export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android15-armv7 export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android15-armv7 +export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv7 export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -518,9 +522,10 @@ fi export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android15-armv5 export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android15-armv5 +export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv5 export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5te -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5te -mthumb" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -554,7 +559,7 @@ export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android41-armv7 export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android41-armv7 export CC=/opt/toolchains/armelv7-android-16/bin/arm-linux-androideabi-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb -fPIE -pie" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -576,7 +581,7 @@ fi #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android50-armv7 #export CC=/opt/toolchains/armelv7-android-21/bin/arm-linux-androideabi-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb -fPIE -pie" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb -fPIE -pie" #export THREADS=0 #export LDFLAGS="$SMALLLD" # @@ -607,7 +612,7 @@ export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android50-arm64v8 export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android50-arm64v8 export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a -fPIE -pie" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -629,7 +634,7 @@ export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android50-arm64v8-stat export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android50-arm64v8-static export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a" export THREADS=0 export LDFLAGS="$SMALLLD -static" @@ -648,9 +653,10 @@ fi export CLIENT_NAME=../binaries/Android/intel/bionic/vlmcs-android23-x86 export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android23-x86 +export MULTI_NAME=../binaries/Android/intel/static/vlmcsdmulti-android23-x86 export CC=/opt/toolchains/x86-android-9/bin/i686-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32" export THREADS=1 export LDFLAGS="$SMALLLD" @@ -684,7 +690,7 @@ export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android41-x86 export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android41-x86 export CC=/opt/toolchains/x86-android-16/bin/i686-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32 -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32 -fPIE -pie" export THREADS=1 export LDFLAGS="$SMALLLD" @@ -706,7 +712,7 @@ fi #export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android50-x86 #export CC=/opt/toolchains/x86-android-21/bin/i686-linux-android-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32 -fPIE -pie" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32 -fPIE -pie" #export THREADS=1 #export LDFLAGS="$SMALLLD" # @@ -736,7 +742,7 @@ export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android50-x64 export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android50-x64 export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m64 -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m64 -fPIE -pie" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -758,7 +764,7 @@ export PROGRAM_NAME=../binaries/Android/intel/static/vlmcsd-android50-x64-static export MULTI_NAME=../binaries/Android/intel/static/vlmcsdmulti-android50-x64-static export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=nocona -m64" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=nocona -m64" export THREADS=0 export LDFLAGS="$SMALLLD -static" @@ -778,9 +784,10 @@ fi export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android23-mips32el export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android23-mips32el +export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android23-mips32el export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export THREADS=1 export LDFLAGS="$SMALLLD" @@ -815,7 +822,7 @@ export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android41-mips32el export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android41-mips32el export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie" export THREADS=1 export LDFLAGS="$SMALLLD" @@ -838,7 +845,7 @@ fi #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips32el #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie" #export THREADS=1 #export LDFLAGS="$SMALLLD" # @@ -867,7 +874,7 @@ fi #export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android23-mips16el #export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" #export THREADS=1 #export LDFLAGS="$SMALLLD" # @@ -920,7 +927,7 @@ fi #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android41-mips16el #export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie -mips16" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie -mips16" #export THREADS=1 #export LDFLAGS="$SMALLLD" # @@ -951,7 +958,7 @@ fi #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips16el #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie -mips16" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie -mips16" #export THREADS=1 #export LDFLAGS="$SMALLLD" # @@ -979,7 +986,7 @@ export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android50-mips64el export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips64el export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie" +export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie" export THREADS=0 export LDFLAGS="$SMALLLD" @@ -1001,7 +1008,7 @@ export PROGRAM_NAME=../binaries/Android/mips/static/vlmcsd-android50-mips64el-st export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android50-mips64el-static export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export THREADS=0 export LDFLAGS="$SMALLLD -static" @@ -1021,7 +1028,7 @@ fi #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android5 #export CC=arm-linux-androideabi-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +#export PLATFORMFLAGS="-flto=16 -fwhole-program" #export LDFLAGS="$SMALLLD -pie -fpie" #export THREADS=0 # @@ -1073,7 +1080,7 @@ fi #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android5-armv7 #export CC=arm-linux-androideabi-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9" #export LDFLAGS="$SMALLLD -pie -fpie" #export THREADS=0 # @@ -1126,7 +1133,7 @@ fi #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android #export CC=arm-linux-androideabi-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +#export PLATFORMFLAGS="-flto=16 -fwhole-program" #export LDFLAGS="$SMALLLD" #export THREADS=0 # @@ -1178,7 +1185,7 @@ fi #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android-armv7 #export CC=arm-linux-androideabi-gcc #export CFLAGS="$SMALLCC" -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9" #export LDFLAGS="$SMALLLD" #export THREADS=0 # @@ -1228,7 +1235,7 @@ export CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x86-glibc export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc export CC=~/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i686 -mtune=generic" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" export THREADS=0 @@ -1247,7 +1254,7 @@ fi export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc-minimum export CC=~/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i686 -mtune=generic" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" export THREADS=0 export FEATURES=minimum @@ -1295,7 +1302,7 @@ export PROGRAM_NAME=../binaries/Linux/intel/static/vlmcsd-x86-musl-static #export CC=/opt/toolchains/i386_i486_gcc-4.9-linaro_musl-1.1.6/bin/i486-openwrt-linux-musl-gcc-4.9.2 export CC=/opt/toolchains/i486-musl-gcc-5.3.0-binutils-2.25.1/bin/i486-Hotbird-linux-musl-gcc.br_real export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i486 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static" export THREADS=0 export NOPROCFS=0 @@ -1326,15 +1333,16 @@ fi # Linux x86 musl static threads export FEATURES=full export PROGRAM_NAME=../binaries/Linux/intel/static/vlmcsd-x86-musl-static-threads +export MULTI_NAME=../binaries/Linux/intel/static/vlmcsdmulti-x86-musl-static-threads export CC=/opt/toolchains/i486-musl-gcc-5.3.0-binutils-2.25.1/bin/i486-Hotbird-linux-musl-gcc.br_real export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i486 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static" export THREADS=1 export NOPROCFS=0 export AUXV=1 -make $MAKEFLAGS $PROGRAM_NAME +make $MAKEFLAGS $PROGRAM_NAME $MULTI_NAME if [ $? != 0 ]; then echo Error creating $PROGRAM_NAME @@ -1352,7 +1360,7 @@ export CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x32-glibc export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x32-glibc export CC=gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mx32 -march=nocona -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic" export LDFLAGS="-fuse-ld=gold $SMALLLD -Wl,--hash-style=gnu" export THREADS=0 export NOPROCFS=0 @@ -1373,7 +1381,7 @@ export FEATURES=full export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x32-glibc-threads export CC=gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mx32 -march=nocona -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic" export LDFLAGS="-fuse-ld=gold $SMALLLD -Wl,--hash-style=gnu -lpthread" export THREADS=1 export NOPROCFS=0 @@ -1396,7 +1404,7 @@ export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-glibc export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-glibc export CC=/opt/toolchains/armelv5t-glibc-2.23-gcc-6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-gnueabi-gcc export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4 -marm" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4 -marm" export LDFLAGS="$SMALLLD -static-libgcc" export THREADS=0 export NOPROCFS=0 @@ -1421,7 +1429,7 @@ export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-gli export CC=/opt/toolchains/armelv5t-glibc-2.23-gcc-6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-gnueabi-gcc export FEATURES=full export CFLAGS="$SMALLCC" -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4t -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4t -mthumb" export LDFLAGS="$SMALLLD -static-libgcc" export THREADS=0 @@ -1440,7 +1448,7 @@ fi export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc-thumb export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc-thumb export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc-thumb -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5t -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5t -mthumb" make $MAKEFLAGS DNS_PARSER=internal allmulti @@ -1456,7 +1464,7 @@ fi export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5 -marm" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5 -marm" make $MAKEFLAGS DNS_PARSER=internal allmulti @@ -1474,7 +1482,7 @@ export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv7el-gli export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv7el-glibc export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv7el-glibc export CC=/opt/toolchains/armelv7-cortex-a8-glibc-2.18/usr/bin/arm-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1496,7 +1504,7 @@ export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-ope export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-openwrt-glibc export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-openwrt-glibc export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1521,7 +1529,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1546,7 +1554,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}-static export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}-static export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}-static export CC=/opt/toolchains/armelv5t-musl-gcc6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-musleabi-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static" @@ -1587,7 +1595,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/armelv5t-uclibc-0.9.33/usr/bin/arm-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5t -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5t -mthumb" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1613,7 +1621,7 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/armelv7-cortex-a8-uclibc-0.9.33/usr/bin/arm-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1649,7 +1657,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4 -marm" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4 -marm" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1673,7 +1681,7 @@ fi #export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} #export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} #export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc -#export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4t -mthumb" +#export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4t -mthumb" #export FEATURES=full #export CFLAGS="$SMALLCC" #export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1705,7 +1713,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -1768,7 +1776,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1793,7 +1801,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1856,7 +1864,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32el-mips16-glibc-2.18/usr/bin/mipsel-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1882,7 +1890,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32el-mips16-uclibc-0.9.33/bin/mipsel-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1908,7 +1916,7 @@ export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} #export CC=~/openwrt/staging_dir/toolchain-powerpc_405_gcc-4.8-linaro_uClibc-0.9.33.2/bin/powerpc-openwrt-linux-gcc export CC=/opt/toolchains/ppc-uclibc0.9.33.2-gcc-4.9.1-binutils2.24/bin/powerpc-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -L/root/cross-compiler-powerpc/lib -L/root/cross-compiler-powerpc/usr/lib" +export PLATFORMFLAGS="-flto=16 -fwhole-program -L/root/cross-compiler-powerpc/lib -L/root/cross-compiler-powerpc/usr/lib" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1944,7 +1952,7 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz71xx/bin/mipsel-linux-uclibc-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=4kec -mtune=4kec" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=4kec -mtune=4kec" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -1981,7 +1989,7 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2018,7 +2026,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=full export CFLAGS="$SMALLCC -D_PEDANTIC" export LDFLAGS="$SMALLLD" @@ -2042,7 +2050,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=full export CFLAGS="$SMALLCC -DNO_USER_SWITCH -DSIMPLE_SOCKETS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_USER_SWITCH" export LDFLAGS="$SMALLLD" @@ -2066,7 +2074,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=inetd export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2090,7 +2098,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -lpthread" @@ -2113,7 +2121,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2133,7 +2141,7 @@ unset OPENSSL_HMAC -#make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcs-mips32-uclibc CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcsd-mips32-uclibc CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc && \ +#make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcs-mips32-uclibc CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcsd-mips32-uclibc CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc && \ # Linux mips32 big-endian uclibc INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/ SUFFIX=-mips32-uclibc @@ -2141,7 +2149,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2166,7 +2174,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2191,10 +2199,10 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mips16" export FEATURES=full export CFLAGS="$SMALLCC -DNO_LIMIT" -export LDFLAGS="$SMALLLD" +export LDFLAGS="-ldl -lpthread $SMALLLD" export THREADS=0 export CRYPTO=internal @@ -2217,7 +2225,7 @@ export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_musl-1.1.6-mips16/bin/mips-openwrt-linux-musl-gcc-4.9.2 -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2254,10 +2262,10 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc" export FEATURES=full export CFLAGS="$SMALLCC -DNO_LIMIT" -export LDFLAGS="$SMALLLD" +export LDFLAGS="-ldl -lpthread $SMALLLD" export THREADS=0 export CRYPTO=internal @@ -2271,7 +2279,7 @@ fi export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static -export LDFLAGS="$SMALLLD -static" +export LDFLAGS="$LDFLAGS -static" make $REUSEOBJFLAGS allmulti @@ -2291,7 +2299,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -lpthread" @@ -2315,7 +2323,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program" +export PLATFORMFLAGS="-flto=16 -fwhole-program" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2340,7 +2348,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2365,7 +2373,7 @@ export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32eb-musl/usr/bin/mips-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2374,7 +2382,6 @@ export CRYPTO=internal export NOPROCFS=0 export AUXV=1 - make $MAKEFLAGS allmulti if [ $? != 0 ]; then @@ -2407,7 +2414,7 @@ export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32el-mips16-musl/usr/bin/mipsel-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2446,7 +2453,7 @@ export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static export CC=/opt/toolchains/mips32el-mips16-musl-fpu/usr/bin/mipsel-linux-cc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -static" @@ -2472,7 +2479,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/i486-uclibc-0.9.33/bin/i486-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i486 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -2491,7 +2498,7 @@ fi -#make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc LDFLAGS="-Wl,--hash-style=gnu" CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \ +#make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc LDFLAGS="-Wl,--hash-style=gnu" CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \ # Linux x64 glibc INSTALLDIR=../binaries/Linux/intel/glibc/ SUFFIX=-x64-glibc @@ -2499,7 +2506,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -2524,7 +2531,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/sparc32-glibc-gcc-4.7.4/bin/sparc-buildroot-linux-gnu-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mcpu=v7" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mcpu=v7" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2542,7 +2549,7 @@ fi -#make $MAKEFLAGS ../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-threads THREADS=1 LDFLAGS="-Wl,--hash-style=gnu -lpthread" CFLAGS="-pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \ +#make $MAKEFLAGS ../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-threads THREADS=1 LDFLAGS="-Wl,--hash-style=gnu -lpthread" CFLAGS="-pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \ # Linux x64 glibc with threads INSTALLDIR=../binaries/Linux/intel/glibc/ SUFFIX=-x64-glibc-threads @@ -2550,7 +2557,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread" @@ -2567,7 +2574,7 @@ fi -#make $MAKEFLAGS LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CRYPTO=openssl_with_aes CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic" && \ +#make $MAKEFLAGS LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CRYPTO=openssl_with_aes CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic" && \ # Linux x64 glibc with OpenSSL 1.0.x support INSTALLDIR=../binaries/Linux/intel/glibc/ SUFFIX=-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL @@ -2575,7 +2582,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -2601,7 +2608,7 @@ export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX} #export CC=/opt/toolchains/x86_64_gcc-4.9-linaro_musl-1.1.6/bin/x86_64-openwrt-linux-musl-gcc-4.9.2 export CC=/opt/toolchains/x86_64-musl-gcc-5.3.0-binutils-2.25.1/bin/x86_64-Hotbird-linux-musl-gcc.br_real -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -2633,7 +2640,7 @@ fi -#make $MAKEFLAGS CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/uclibc/vlmcs-x64-uclibc PROGRAM_NAME=../binaries/Linux/intel/uclibc/vlmcsd-x64-uclibc CFLAGS="$SMALL -flto=jobserver -fwhole-program -pipe -fno-stack-protector" && \ +#make $MAKEFLAGS CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/uclibc/vlmcs-x64-uclibc PROGRAM_NAME=../binaries/Linux/intel/uclibc/vlmcsd-x64-uclibc CFLAGS="$SMALL -flto=16 -fwhole-program -pipe -fno-stack-protector" && \ # Linux x64 uclibc INSTALLDIR=../binaries/Linux/intel/uclibc/ SUFFIX=-x64-uclibc @@ -2641,7 +2648,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic" +export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" @@ -2704,7 +2711,7 @@ export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/mips32el-uclibc-0.9.33/bin/mipsel-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32" +export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD" @@ -2743,7 +2750,7 @@ export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX} export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX} export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX} export CC=/opt/toolchains/armhfv6-glibc-2.19/bin/arm-linux-gcc -export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv6zk -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s" +export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv6zk -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s" export FEATURES=full export CFLAGS="$SMALLCC" export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu" diff --git a/hotbird64-mass-build/make_openbsd b/hotbird64-mass-build/make_openbsd index 96329e2..bef512f 100755 --- a/hotbird64-mass-build/make_openbsd +++ b/hotbird64-mass-build/make_openbsd @@ -16,10 +16,10 @@ REUSEOBJFLAGS="-j12" CF="-static-libgcc -pipe -fwhole-program -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" CF45="-static-libgcc -pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" CFCLANG="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" -LF="-Wl,-z,norelro" -LFCLANG="-Wl,-z,norelro" +LF="-lpthread -Wl,-z,norelro" +LFCLANG="-lpthread -Wl,-z,norelro" -gmake -Bj12 allmulti $MAKEFLAGS CC=egcc MULTI_NAME=$BINDIR/vlmcsdmulti-OpenBSD-x64 PROGRAM_NAME=$BINDIR/vlmcsd-OpenBSD-x64 CLIENT_NAME=$BINDIR/vlmcs-OpenBSD-x64 CFLAGS="$CF" LDFLAGS="$LF" +gmake -Bj12 allmulti $MAKEFLAGS CC=egcc THREADS=1 MULTI_NAME=$BINDIR/vlmcsdmulti-OpenBSD-x64 PROGRAM_NAME=$BINDIR/vlmcsd-OpenBSD-x64 CLIENT_NAME=$BINDIR/vlmcs-OpenBSD-x64 CFLAGS="$CF" LDFLAGS="$LF" #gmake allmulti $MAKEFLAGS CAT=2 MULTI_NAME=vlmcsdmulti-OpenBSD-x86 PROGRAM_NAME=vlmcsd-OpenBSD-x86 CLIENT_NAME=vlmcs-OpenBSD-x86 CFLAGS="$CF45 -m32" LDFLAGS="$LF" diff --git a/man/vlmcs.1.html b/man/vlmcs.1.html index 85dc558..192db3f 100644 --- a/man/vlmcs.1.html +++ b/man/vlmcs.1.html @@ -1,5 +1,5 @@ - + diff --git a/man/vlmcs.1.pdf b/man/vlmcs.1.pdf index e9515aa..97b8f13 100644 Binary files a/man/vlmcs.1.pdf and b/man/vlmcs.1.pdf differ diff --git a/man/vlmcsd-floppy.7 b/man/vlmcsd-floppy.7 index 5824bb8..197b9e3 100644 --- a/man/vlmcsd-floppy.7 +++ b/man/vlmcsd-floppy.7 @@ -1,5 +1,5 @@ .mso www.tmac -.TH "VLMCSD-FLOPPY" 7 "June 2016" "Hotbird64" "KMS Activation Manual" +.TH "VLMCSD-FLOPPY" 7 "October 2016" "Hotbird64" "KMS Activation Manual" .LO 8 .SH NAME @@ -166,6 +166,9 @@ Sets the password for the pre-defined guest user. This user has the same privili .IP "\fBINETD=\fRY | N" \fBINETD=\fRY specifies that \fBinetd\fR(8) should automatically be started. That means you can telnet and ftp to your virtual machine. +.IP "\fBVLMCSD_EXTRA_ARGS=\fR\fIcomma-seperated-argument-list\fR" +Allows you to specify additional command line options that will be passed to \fBvlmcsd\fR(8). Instead of spaces you use commas between arguments. Example: \fBVLMCSD_EXTRA_ARGS=\fR\-c1,-K3,-M1 + .SH OPERATION .SS Diskless System diff --git a/man/vlmcsd-floppy.7.dos.txt b/man/vlmcsd-floppy.7.dos.txt index 5ff80a5..4a70f56 100644 --- a/man/vlmcsd-floppy.7.dos.txt +++ b/man/vlmcsd-floppy.7.dos.txt @@ -310,6 +310,12 @@ CONFIGURATION That means you can telnet and ftp to your virtual machine. + VLMCSD_EXTRA_ARGS=comma-seperated-argument-list + Allows you to specify additional command line options that will + be passed to vlmcsd(8). Instead of spaces you use commas between + arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1 + + OPERATION Diskless System The floppy144.vfd virtual machine is a diskless system that works @@ -527,4 +533,4 @@ SEE ALSO -Hotbird64 June 2016 VLMCSD-FLOPPY(7) +Hotbird64 October 2016 VLMCSD-FLOPPY(7) diff --git a/man/vlmcsd-floppy.7.html b/man/vlmcsd-floppy.7.html index 2324cad..40d1f3e 100644 --- a/man/vlmcsd-floppy.7.html +++ b/man/vlmcsd-floppy.7.html @@ -1,5 +1,5 @@ - + @@ -499,6 +499,14 @@ pre-defined guest user. This user has the same priviliges inetd(8) should automatically be started. That means you can telnet and ftp to your virtual machine.
+ +VLMCSD_EXTRA_ARGS=comma-seperated-argument-list
+ +Allows you to specify +additional command line options that will be passed to +vlmcsd(8). Instead of spaces you use commas between +arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1
+-M0 and -M1
+ +Disables (-M0) or +enables (-M1) maintaining a list of client machine +IDs (CMIDs). The default is -M0. -M1 is useful +to prevent emulator detection. By maintaing a CMID list, +vlmcsd reports current active clients exactly like a genuine +KMS emulator. This includes bug compatibility to the extent +that you can permanently kill a genuine KMS emulator by +sending an "overcharge request" with a required +client count of 376 or more and then request activation for +671 clients. vlmcsd can be reset from this condition by +restarting it. If -M0 is used, vlmcsd reports current +active clients as good as possible. If no client sends an +"overcharge request", it is not possible to detect +vlmcsd as an emulator with -M0. -M1 requires +the allocation of a buffer that is about 50 kB in size. On +hardware with few memory resources use it only if you really +need it.
+ +If you start +vlmcsd from an internet superserver, -M1 cannot be +used. Since vlmcsd exits after each activation, it cannot +maintain any state in memory.
+ +-E0 and -E1
+ +These options are ignored if +you do not also specify -M1. If you use -E0 +(the default), vlmcsd starts up as a fully +"charged" KMS server. Clients activate +immediately. -E1 lets you start up vlmcsd with an +empty CMID list. Activation will start when the required +minimum clients (25 for Windows Client OSses, 5 for Windows +Server OSses and Office) have registered with the KMS +server. As long as the minimum client count has not been +reached, clients end up in HRESULT 0xC004F038 "The +count reported by your Key Management Service (KMS) is +insufficient. Please contact your system +administrator". You may use vlmcs(1) or another +KMS client emulator to "charge" vlmcsd. -E1 +does not improve emulator detection prevention. It’s +primary purpose is to help developers of KMS clients to test +"charging" a KMS server.
+-R renewal-interval
diff --git a/man/vlmcsd.8.pdf b/man/vlmcsd.8.pdf index e5dc3a6..93b2aaf 100644 Binary files a/man/vlmcsd.8.pdf and b/man/vlmcsd.8.pdf differ diff --git a/man/vlmcsd.8.unix.txt b/man/vlmcsd.8.unix.txt index efc45f3..0b58f63 100644 --- a/man/vlmcsd.8.unix.txt +++ b/man/vlmcsd.8.unix.txt @@ -449,6 +449,44 @@ OPTIONS system time after you started vlmcsd. + -M0 and -M1 + Disables (-M0) or enables (-M1) maintaining a list of client + machine IDs (CMIDs). The default is -M0. -M1 is useful to pre‐ + vent emulator detection. By maintaing a CMID list, vlmcsd + reports current active clients exactly like a genuine KMS emula‐ + tor. This includes bug compatibility to the extent that you can + permanently kill a genuine KMS emulator by sending an "over‐ + charge request" with a required client count of 376 or more and + then request activation for 671 clients. vlmcsd can be reset + from this condition by restarting it. If -M0 is used, vlmcsd + reports current active clients as good as possible. If no client + sends an "overcharge request", it is not possible to detect vlm‐ + csd as an emulator with -M0. -M1 requires the allocation of a + buffer that is about 50 kB in size. On hardware with few memory + resources use it only if you really need it. + + If you start vlmcsd from an internet superserver, -M1 cannot be + used. Since vlmcsd exits after each activation, it cannot main‐ + tain any state in memory. + + + -E0 and -E1 + These options are ignored if you do not also specify -M1. If you + use -E0 (the default), vlmcsd starts up as a fully "charged" KMS + server. Clients activate immediately. -E1 lets you start up vlm‐ + csd with an empty CMID list. Activation will start when the + required minimum clients (25 for Windows Client OSses, 5 for + Windows Server OSses and Office) have registered with the KMS + server. As long as the minimum client count has not been + reached, clients end up in HRESULT 0xC004F038 "The count + reported by your Key Management Service (KMS) is insufficient. + Please contact your system administrator". You may use vlmcs(1) + or another KMS client emulator to "charge" vlmcsd. -E1 does not + improve emulator detection prevention. It's primary purpose is + to help developers of KMS clients to test "charging" a KMS + server. + + -R renewal-interval Instructs clients to renew activation every renewal-interval. The renewal-interval is a number optionally immediately followed diff --git a/man/vlmcsd.ini.5 b/man/vlmcsd.ini.5 index b3f3e2d..268f636 100644 --- a/man/vlmcsd.ini.5 +++ b/man/vlmcsd.ini.5 @@ -118,8 +118,16 @@ The SKU ID is not checked. Like a genuine KMS server vlmcsd activates a product .IP "\fBCheckClientTime\fR" Can be TRUE or FALSE. The default is FALSE. If you set this to TRUE \fBvlmcsd\fR(8) checks if the client time differs no more than four hours from the system time. This is useful to prevent emulator detection. A client that tries to detect an emulator could simply send two subsequent request with two time stamps that differ more than four hours from each other. If both requests succeed, the server is an emulator. If you set this to TRUE on a system with no reliable time source, activations will fail. It is ok to set the correct system time after you started \fBvlmcsd\fR(8). +.IP "\fBMaintainClients\fR" +Can be TRUE or FALSE (the default). Disables (FALSE) or enables (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is useful to prevent emulator detection. By maintaing a CMID list, \fBvlmcsd\fR(8) reports current active clients exactly like a genuine KMS emulator. This includes bug compatibility to the extent that you can permanently kill a genuine KMS emulator by sending an "overcharge request" with a required client count of 376 or more and then request activation for 671 clients. \fBvlmcsd\fR(8) can be reset from this condition by restarting it. If FALSE is used, \fBvlmcsd\fR(8) reports current active clients as good as possible. If no client sends an "overcharge request", it is not possible to detect \fBvlmcsd\fR(8) as an emulator with \fBMaintainClients\fR\~=\~FALSE. Maintaining clients requires the allocation of a buffer that is about 50 kB in size. On hardware with few memory resources use it only if you really need it. + +If you start \fBvlmcsd\fR(8) from an internet superserver, this setting cannot be used. Since \fBvlmcsd\fR(8) exits after each activation, it cannot maintain any state in memory. + +.IP "\fBStartEmpty\fR" +This setting is ignored if you do not also specify \fBMaintainClients\fR\~=\~TRUE. If you specify FALSE (the default), \fBvlmcsd\fR(8) starts up as a fully "charged" KMS server. Clients activate immediately. \fBStartEmpty\fR\~=\~TRUE lets you start up \fBvlmcsd\fR(8) with an empty CMID list. Activation will start when the required minimum clients (25 for Windows Client OSses, 5 for Windows Server OSses and Office) have registered with the KMS server. As long as the minimum client count has not been reached, clients end up in HRESULT 0xC004F038 "The count reported by your Key Management Service (KMS) is insufficient. Please contact your system administrator". You may use \fBvlmcs\fR(1) or another KMS client emulator to "charge" \fBvlmcsd\fR(8). Setting this parameter to TRUE does not improve emulator detection prevention. It's primary purpose is to help developers of KMS clients to test "charging" a KMS server. + .IP "\fBActivationInterval\fR" -This is the same as specifying \fB-A\fR on the command line. See \fBvlmcsd\fR(8) for details. The default is 2 hours. Example: ActivationInterval = 1h +This is the same as specifying \fB-A\fR on the command line. See \fBvlmcsd\fR(8) for details. The default is 2 hours. Example: ActivationInterval\~=\~1h .IP "\fBRenewalInterval\fR" This is the same as specifying \fB-R\fR on the command line. See \fBvlmcsd\fR(8) for details. The default is 7 days. Example: RenewalInterval = 3d. Please note that the KMS client decides itself when to renew activation. Even though vlmcsd sends the renewal interval you specify, it is no more than some kind of recommendation to the client. Older KMS clients did follow the recommendation from a KMS server or emulator. Newer clients do not. diff --git a/man/vlmcsd.ini.5.dos.txt b/man/vlmcsd.ini.5.dos.txt index f5b6348..75d9212 100644 --- a/man/vlmcsd.ini.5.dos.txt +++ b/man/vlmcsd.ini.5.dos.txt @@ -243,6 +243,46 @@ KEYWORDS csd(8). + MaintainClients + Can be TRUE or FALSE (the default). Disables (FALSE) or enables + (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is + useful to prevent emulator detection. By maintaing a CMID list, + vlmcsd(8) reports current active clients exactly like a genuine + KMS emulator. This includes bug compatibility to the extent that + you can permanently kill a genuine KMS emulator by sending an + "overcharge request" with a required client count of 376 or more + and then request activation for 671 clients. vlmcsd(8) can be + reset from this condition by restarting it. If FALSE is used, + vlmcsd(8) reports current active clients as good as possible. If + no client sends an "overcharge request", it is not possible to + detect vlmcsd(8) as an emulator with MaintainClients = FALSE. + Maintaining clients requires the allocation of a buffer that is + about 50 kB in size. On hardware with few memory resources use + it only if you really need it. + + If you start vlmcsd(8) from an internet superserver, this set‐ + ting cannot be used. Since vlmcsd(8) exits after each activa‐ + tion, it cannot maintain any state in memory. + + + StartEmpty + This setting is ignored if you do not also specify Maintain‐ + Clients = TRUE. If you specify FALSE (the default), vlmcsd(8) + starts up as a fully "charged" KMS server. Clients activate + immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with + an empty CMID list. Activation will start when the required min‐ + imum clients (25 for Windows Client OSses, 5 for Windows Server + OSses and Office) have registered with the KMS server. As long + as the minimum client count has not been reached, clients end up + in HRESULT 0xC004F038 "The count reported by your Key Management + Service (KMS) is insufficient. Please contact your system admin‐ + istrator". You may use vlmcs(1) or another KMS client emulator + to "charge" vlmcsd(8). Setting this parameter to TRUE does not + improve emulator detection prevention. It's primary purpose is + to help developers of KMS clients to test "charging" a KMS + server. + + ActivationInterval This is the same as specifying -A on the command line. See vlm‐ csd(8) for details. The default is 2 hours. Example: Activation‐ diff --git a/man/vlmcsd.ini.5.html b/man/vlmcsd.ini.5.html index 34c9bcb..15c7407 100644 --- a/man/vlmcsd.ini.5.html +++ b/man/vlmcsd.ini.5.html @@ -1,5 +1,5 @@ - + @@ -386,12 +386,60 @@ to TRUE on a system with no reliable time source, activations will fail. It is ok to set the correct system time after you started vlmcsd(8). +MaintainClients
+ +Can be TRUE or FALSE (the +default). Disables (FALSE) or enables (TRUE) maintaining a +list of client machine IDs (CMIDs). TRUE is useful to +prevent emulator detection. By maintaing a CMID list, +vlmcsd(8) reports current active clients exactly like +a genuine KMS emulator. This includes bug compatibility to +the extent that you can permanently kill a genuine KMS +emulator by sending an "overcharge request" with a +required client count of 376 or more and then request +activation for 671 clients. vlmcsd(8) can be reset +from this condition by restarting it. If FALSE is used, +vlmcsd(8) reports current active clients as good as +possible. If no client sends an "overcharge +request", it is not possible to detect vlmcsd(8) +as an emulator with +MaintainClients = FALSE. Maintaining +clients requires the allocation of a buffer that is about 50 +kB in size. On hardware with few memory resources use it +only if you really need it.
+ +If you start +vlmcsd(8) from an internet superserver, this setting +cannot be used. Since vlmcsd(8) exits after each +activation, it cannot maintain any state in memory.
+ +StartEmpty
+ +This setting is ignored if you +do not also specify MaintainClients = TRUE. +If you specify FALSE (the default), vlmcsd(8) starts +up as a fully "charged" KMS server. Clients +activate immediately. StartEmpty = TRUE +lets you start up vlmcsd(8) with an empty CMID list. +Activation will start when the required minimum clients (25 +for Windows Client OSses, 5 for Windows Server OSses and +Office) have registered with the KMS server. As long as the +minimum client count has not been reached, clients end up in +HRESULT 0xC004F038 "The count reported by your Key +Management Service (KMS) is insufficient. Please contact +your system administrator". You may use vlmcs(1) +or another KMS client emulator to "charge" +vlmcsd(8). Setting this parameter to TRUE does not +improve emulator detection prevention. It’s primary +purpose is to help developers of KMS clients to test +"charging" a KMS server.
+ActivationInterval
This is the same as specifying -A on the command line. See vlmcsd(8) for -details. The default is 2 hours. Example: ActivationInterval -= 1h
+details. The default is 2 hours. Example: +ActivationInterval = 1hRenewalInterval
diff --git a/man/vlmcsd.ini.5.pdf b/man/vlmcsd.ini.5.pdf index 2a11c63..0ac20f4 100644 Binary files a/man/vlmcsd.ini.5.pdf and b/man/vlmcsd.ini.5.pdf differ diff --git a/man/vlmcsd.ini.5.unix.txt b/man/vlmcsd.ini.5.unix.txt index 7506aaa..ccbd74e 100644 --- a/man/vlmcsd.ini.5.unix.txt +++ b/man/vlmcsd.ini.5.unix.txt @@ -243,6 +243,46 @@ KEYWORDS csd(8). + MaintainClients + Can be TRUE or FALSE (the default). Disables (FALSE) or enables + (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is + useful to prevent emulator detection. By maintaing a CMID list, + vlmcsd(8) reports current active clients exactly like a genuine + KMS emulator. This includes bug compatibility to the extent that + you can permanently kill a genuine KMS emulator by sending an + "overcharge request" with a required client count of 376 or more + and then request activation for 671 clients. vlmcsd(8) can be + reset from this condition by restarting it. If FALSE is used, + vlmcsd(8) reports current active clients as good as possible. If + no client sends an "overcharge request", it is not possible to + detect vlmcsd(8) as an emulator with MaintainClients = FALSE. + Maintaining clients requires the allocation of a buffer that is + about 50 kB in size. On hardware with few memory resources use + it only if you really need it. + + If you start vlmcsd(8) from an internet superserver, this set‐ + ting cannot be used. Since vlmcsd(8) exits after each activa‐ + tion, it cannot maintain any state in memory. + + + StartEmpty + This setting is ignored if you do not also specify Maintain‐ + Clients = TRUE. If you specify FALSE (the default), vlmcsd(8) + starts up as a fully "charged" KMS server. Clients activate + immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with + an empty CMID list. Activation will start when the required min‐ + imum clients (25 for Windows Client OSses, 5 for Windows Server + OSses and Office) have registered with the KMS server. As long + as the minimum client count has not been reached, clients end up + in HRESULT 0xC004F038 "The count reported by your Key Management + Service (KMS) is insufficient. Please contact your system admin‐ + istrator". You may use vlmcs(1) or another KMS client emulator + to "charge" vlmcsd(8). Setting this parameter to TRUE does not + improve emulator detection prevention. It's primary purpose is + to help developers of KMS clients to test "charging" a KMS + server. + + ActivationInterval This is the same as specifying -A on the command line. See vlm‐ csd(8) for details. The default is 2 hours. Example: Activation‐ diff --git a/man/vlmcsdmulti.1.html b/man/vlmcsdmulti.1.html index 48d1f96..28697ce 100644 --- a/man/vlmcsdmulti.1.html +++ b/man/vlmcsdmulti.1.html @@ -1,5 +1,5 @@ - + diff --git a/man/vlmcsdmulti.1.pdf b/man/vlmcsdmulti.1.pdf index 7774158..5bcd0e0 100644 Binary files a/man/vlmcsdmulti.1.pdf and b/man/vlmcsdmulti.1.pdf differ diff --git a/src/config.h b/src/config.h index 73dc113..188c3c1 100644 --- a/src/config.h +++ b/src/config.h @@ -12,17 +12,17 @@ -/* - * ---------------------------------------------------------------------------------------- - * Useful customizations. These options are mandatory. You cannot comment them out. - * Feel free to change them to fit your needs. - * ---------------------------------------------------------------------------------------- - */ + /* + * ---------------------------------------------------------------------------------------- + * Useful customizations. These options are mandatory. You cannot comment them out. + * Feel free to change them to fit your needs. + * ---------------------------------------------------------------------------------------- + */ #ifndef VERSION -/* - * Define your own version identifier here, e.g. '#define VERSION "my vlmcsd based on svn560"' - */ + /* + * Define your own version identifier here, e.g. '#define VERSION "my vlmcsd based on svn560"' + */ #define VERSION "private build" @@ -31,56 +31,56 @@ -/* - * Define default ePIDs and HWID here. Preferrably grab ePIDs and HWID - * from a real KMS server. - */ + /* + * Define default ePIDs and HWID here. Preferrably grab ePIDs and HWID + * from a real KMS server. + */ #ifndef EPID_WINDOWS -#define EPID_WINDOWS "03612-00206-471-109239-03-1033-14393.0000-2932016" +#define EPID_WINDOWS "03612-00206-471-452343-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2010 -#define EPID_OFFICE2010 "03612-00096-199-390352-03-1033-14393.0000-2932016" +#define EPID_OFFICE2010 "03612-00096-199-303490-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2013 -#define EPID_OFFICE2013 "03612-00206-234-938378-03-1033-14393.0000-2932016" +#define EPID_OFFICE2013 "03612-00206-234-394838-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2016 -#define EPID_OFFICE2016 "03612-00206-437-305903-03-1033-14393.0000-2932016" +#define EPID_OFFICE2016 "03612-00206-437-938923-03-1033-14393.0000-2932016" #endif #ifndef HWID // HwId from the Ratiborus VM -#define HWID 0x36, 0x4F, 0x46, 0x3A, 0x88, 0x63, 0xD3, 0x5F +#define HWID 0x3A, 0x1C, 0x04, 0x96, 0x00, 0xB6, 0x00, 0x76 #endif -/* - * Anything below this line is optional. If you want to use any of these options - * uncomment one or more lines starting with "//#define" - */ + /* + * Anything below this line is optional. If you want to use any of these options + * uncomment one or more lines starting with "//#define" + */ -/* - * ------------------------------- - * Defaults - * ------------------------------- - */ + /* + * ------------------------------- + * Defaults + * ------------------------------- + */ #ifndef INI_FILE -/* - * Uncomment and customize the following line if you want vlmcsd to look for an ini file - * at a default location - */ + /* + * Uncomment and customize the following line if you want vlmcsd to look for an ini file + * at a default location + */ -//#define INI_FILE "/etc/vlmcsd.ini" + //#define INI_FILE "/etc/vlmcsd.ini" #endif // INI_FILE @@ -97,15 +97,15 @@ #ifndef CHILD_HANDLER -/* - * Uncomment the following #define if you are compiling for a platform that does - * not correctly handle the SA_NOCLDWAIT flag when ignoring SIGCHLD, i.e. forked - * processes remain as "zombies" after dying. This option will add a SIGCHLD handler that - * "waits" for a child that has terminated. This is only required for a few - * unixoid OSses. - */ + /* + * Uncomment the following #define if you are compiling for a platform that does + * not correctly handle the SA_NOCLDWAIT flag when ignoring SIGCHLD, i.e. forked + * processes remain as "zombies" after dying. This option will add a SIGCHLD handler that + * "waits" for a child that has terminated. This is only required for a few + * unixoid OSses. + */ -//#define CHILD_HANDLER + //#define CHILD_HANDLER #endif // CHILD_HANDLER @@ -116,7 +116,7 @@ * not support custom socket send or receive timeouts. */ -//#define NO_TIMEOUT + //#define NO_TIMEOUT #endif // NO_TIMEOUT @@ -128,7 +128,7 @@ * detecting KMS servers via DNS. */ -//#define NO_DNS + //#define NO_DNS #endif // NO_DNS @@ -140,7 +140,7 @@ * This affects the output of "vlmcsd -x" only. It should be rarely necessary to use this. */ -//#define TERMINAL_FIXED_WIDTH 80 + //#define TERMINAL_FIXED_WIDTH 80 #endif // TERMINAL_FIXED_WIDTH @@ -154,7 +154,7 @@ * you are testing any KMS server or client emulator that may send malformed KMS packets. */ -//#define _PEDANTIC + //#define _PEDANTIC #endif // _PEDANTIC @@ -185,7 +185,7 @@ * This option is not used because Windows doesn't support signals. */ -//#define NO_PROCFS + //#define NO_PROCFS #endif // NO_PROCFS @@ -208,7 +208,7 @@ * It it safe to try this by yourself. vlmcsd won't compile if your system doesn't support it. */ -//#define USE_AUXV + //#define USE_AUXV #endif // USE_AUXV @@ -223,7 +223,7 @@ * This may be necessary for some embedded devices that have OpenSSL without HMAC support. */ -//#define _OPENSSL_NO_HMAC + //#define _OPENSSL_NO_HMAC #endif // _OPENSSL_NO_HMAC @@ -238,26 +238,26 @@ #ifndef USE_THREADS -/* - * Do not use fork() but threads to serve your clients. - * - * Unix-like operarting systems: - * You may use this or not. Entirely your choice. Threads do not require explicitly allocating - * a shared memory segment which might be a problem on some systems. Using fork() is more robust - * although the threaded version of vlmcsd is rock solid too. - * - * Some older unixoid OSses may not have pthreads. Do NOT use USE_THREADS and define NO_SIGHUP - * and NO_LIMIT instead to disable use of the pthreads, shared memory and semaphores. - * - * Cygwin: - * It is recommended to use threads since fork() is extremely slow (no copy on write) and somewhat - * unstable. - * - * Windows: - * This option has no effect since fork() is not supported. - */ + /* + * Do not use fork() but threads to serve your clients. + * + * Unix-like operarting systems: + * You may use this or not. Entirely your choice. Threads do not require explicitly allocating + * a shared memory segment which might be a problem on some systems. Using fork() is more robust + * although the threaded version of vlmcsd is rock solid too. + * + * Some older unixoid OSses may not have pthreads. Do NOT use USE_THREADS and define NO_SIGHUP + * and NO_LIMIT instead to disable use of the pthreads, shared memory and semaphores. + * + * Cygwin: + * It is recommended to use threads since fork() is extremely slow (no copy on write) and somewhat + * unstable. + * + * Windows: + * This option has no effect since fork() is not supported. + */ -//#define USE_THREADS + //#define USE_THREADS #endif // USE_THREADS @@ -278,7 +278,7 @@ * Do not define both _CRYPTO_OPENSSL and _CRYPTO_POLARSSL */ -//#define _CRYPTO_POLARSSL + //#define _CRYPTO_POLARSSL #endif // _CRYPTO_POLARSSL @@ -299,7 +299,7 @@ * Do not define both _CRYPTO_OPENSSL and _CRYPTO_POLARSSL */ -//#define _CRYPTO_OPENSSL + //#define _CRYPTO_OPENSSL #endif // _CRYPTO_OPENSSL @@ -319,7 +319,7 @@ * Don't use this except for your own research on the internals of OpenSSL. */ -//#define _USE_AES_FROM_OPENSSL + //#define _USE_AES_FROM_OPENSSL #endif // _USE_AES_FROM_OPENSSL @@ -335,7 +335,7 @@ * compiled without support for hardware accelerated AES. It's worth a try if _USE_AES_FROM_OPENSSL doesn't work. */ -//#define _OPENSSL_SOFTWARE + //#define _OPENSSL_SOFTWARE #endif // _OPENSSL_SOFTWARE @@ -350,12 +350,12 @@ #ifndef INCLUDE_BETAS -/* - * Uncomment the following #define if you want obsolete beta/preview SKUs - * to be included in the extended product list. - */ + /* + * Uncomment the following #define if you want obsolete beta/preview SKUs + * to be included in the extended product list. + */ -//#define INCLUDE_BETAS + //#define INCLUDE_BETAS #endif @@ -370,13 +370,13 @@ #ifndef NO_FREEBIND -/* - * Do not compile support for FREEBIND (Linux) and IP_BINDANY (FreeBSD). This disables the -F1 command - * line option and you can bind only to (listen on) IP addresses that are currently up and running on - * your system. - */ + /* + * Do not compile support for FREEBIND (Linux) and IP_BINDANY (FreeBSD). This disables the -F1 command + * line option and you can bind only to (listen on) IP addresses that are currently up and running on + * your system. + */ -//#define NO_FREEBIND + //#define NO_FREEBIND #endif // NO_FREEBIND @@ -394,7 +394,7 @@ * */ -//#define NO_EXTENDED_PRODUCT_LIST + //#define NO_EXTENDED_PRODUCT_LIST #endif // NO_EXTENDED_PRODUCT_LIST @@ -409,7 +409,7 @@ * do not save much space by not compiling this list. */ -//#define NO_BASIC_PRODUCT_LIST + //#define NO_BASIC_PRODUCT_LIST #endif // NO_BASIC_PRODUCT_LIST @@ -421,7 +421,7 @@ * Removes the -V option from vlmcsd and vlmcs that displays the version information */ -//#define NO_VERSION_INFORMATION + //#define NO_VERSION_INFORMATION #endif // NO_VERSION_INFORMATION @@ -434,7 +434,7 @@ * option in the vlmcs client. Disables ini file directive LogVerbose. */ -//#define NO_VERBOSE_LOG + //#define NO_VERBOSE_LOG #endif // NO_VERBOSE_LOG @@ -448,7 +448,7 @@ * Implies NO_VERBOSE_LOG, NO_EXTENDED_PRODUCT_LIST and NO_BASIC_PRODUCT_LIST. */ -//#define NO_LOG + //#define NO_LOG #endif // NO_LOG @@ -457,26 +457,39 @@ #ifndef NO_STRICT_MODES /* - * Disables the product whitelisting features. Removes -K0, -K1, -K2 and -K3 from vlmcsd - * command line options and WhitelistingLevel from INI file parameters. vlmcsd always behaves - * as if it was started with -K0. + * Disables emulator detection protection. Removes -M0, -M1, -E0, -E1, -K0, -K1, -K2 and -K3 from + * vlmcsd command line options and WhitelistingLevel from INI file parameters. vlmcsd always behaves + * as if it was started with -K0, -M0. */ -//#define NO_STRICT_MODES + //#define NO_STRICT_MODES #endif // NO_STRICT_MODES -#ifndef NO_RANDOM_EPID + +#ifndef NO_CLIENT_LIST /* - * Disables the ability to generate random ePIDs. Useful if you managed to grab ePID/HWID from a - * real KMS server and want to use these. Removes -r from the vlmcsd command line and the ini - * file directive RandomizationLevel (The randomization level will be harcoded to 0). + * Disables the ability to maintain a list of Client Machine IDs (CMIDs). Removes -M0, -M1, -E0 and -E1 + * from vlmcsd command line options. */ -//#define NO_RANDOM_EPID + //#define NO_CLIENT_LIST + +#endif // !NO_CLIENT_LIST + + + +#ifndef NO_RANDOM_EPID + /* + * Disables the ability to generate random ePIDs. Useful if you managed to grab ePID/HWID from a + * real KMS server and want to use these. Removes -r from the vlmcsd command line and the ini + * file directive RandomizationLevel (The randomization level will be harcoded to 0). + */ + + //#define NO_RANDOM_EPID #endif // NO_RANDOM_EPID @@ -488,7 +501,7 @@ * Disables the ability to use a configuration file (aka ini file). Removes -i from the command line. */ -//#define NO_INI_FILE + //#define NO_INI_FILE #endif // NO_INI_FILE @@ -502,7 +515,7 @@ * the use of -p from the command line and PidFile from the ini file. */ -//#define NO_PID_FILE + //#define NO_PID_FILE #endif // NO_PID_FILE @@ -520,7 +533,7 @@ * Cygwin. */ -//#define NO_USER_SWITCH + //#define NO_USER_SWITCH #endif // NO_USER_SWITCH @@ -533,7 +546,7 @@ * access to the man files vlmcsd.8 and vlmcs.1 */ -//#define NO_HELP + //#define NO_HELP #endif // NO_HELP @@ -547,7 +560,7 @@ * -A and -R from the command line as well as ActivationInterval and RenewalInterval in the ini file. */ -//#define NO_CUSTOM_INTERVALS + //#define NO_CUSTOM_INTERVALS #endif // NO_CUSTOM_INTERVALS @@ -560,7 +573,7 @@ * Removes -o from the command line. */ -//#define NO_PRIVATE_IP_DETECT + //#define NO_PRIVATE_IP_DETECT #endif // NO_PRIVATE_IP_DETECT @@ -574,7 +587,7 @@ * command line. Socket setup is the job of your superserver. */ -//#define NO_SOCKETS + //#define NO_SOCKETS #endif // NO_SOCKETS @@ -587,7 +600,7 @@ * Removes -0, -3, -w and -H from the vlmcsd command line. */ -//#define NO_CL_PIDS + //#define NO_CL_PIDS #endif // NO_CL_PIDS @@ -606,7 +619,7 @@ * and NO_LIMIT instead to disable use of the pthreads, shared memory and semaphores. */ -//#define NO_LIMIT + //#define NO_LIMIT #endif // NO_LIMIT @@ -626,7 +639,7 @@ * This option has no effect on native Windows since Posix signaling is not supported. It can be used with Cygwin. */ -//#define NO_SIGHUP + //#define NO_SIGHUP #endif // NO_SIGHUP @@ -640,7 +653,7 @@ * smaller binaries but makes emulator detection easier. */ -//#define SIMPLE_RPC + //#define SIMPLE_RPC #endif // !SIMPLE_RPC @@ -652,7 +665,7 @@ * It still supports IPv4 and IPv6. */ -//#define SIMPLE_SOCKETS + //#define SIMPLE_SOCKETS #endif // SIMPLE_SOCKETS diff --git a/src/helpers.c b/src/helpers.c index b702e03..20df22a 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -390,3 +390,36 @@ __pure BOOL getArgumentBool(int_fast8_t *result, const char *const argument) return FALSE; } +#if __ANDROID__ && !defined(USE_THREADS) // Bionic does not wrap these syscalls (intentionally because Google fears, developers don't know how to use it) + +#ifdef __NR_shmget +int shmget(key_t key, size_t size, int shmflg) +{ + return syscall(__NR_shmget, key, size, shmflg); +} +#endif // __NR_shmget + +#ifdef __NR_shmat +void *shmat(int shmid, const void *shmaddr, int shmflg) +{ + return (void *)syscall(__NR_shmat, shmid, shmaddr, shmflg); +} +#endif // __NR_shmat + +#ifdef __NR_shmdt +int shmdt(const void *shmaddr) +{ + return syscall(__NR_shmdt, shmaddr); +} +#endif // __NR_shmdt + +#ifdef __NR_shmctl +int shmctl(int shmid, int cmd, /*struct shmid_ds*/void *buf) +{ + return syscall(__NR_shmctl, shmid, cmd, buf); +} +#endif // __NR_shmctl + +#endif // __ANDROID__ && !defined(USE_THREADS) + + diff --git a/src/helpers.h b/src/helpers.h index af5a53a..f8dc6de 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -9,6 +9,10 @@ #include