From 36a852bc7cf1a9180fb3491bc4c16a94d2163ad1 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 23 Jun 2014 00:16:43 -0400 Subject: Change to a bin86 source package. See README.dev86 for an explanation. --- diff --git a/README.dev86 b/README.dev86 new file mode 100644 index 0000000..0228d72 --- /dev/null +++ b/README.dev86 @@ -0,0 +1,223 @@ +This package contains only the bin86 utilities. The full dev86 package with the +bcc compiler, ELKS libc, etc. may be packaged in the future, either with GNU +Make 4.0 or a patch to Make 3.82. + +With GNU Make 3.82, the ELKS libc fails to build (full build log below). Make +3.82 introduced a regression [1][2] in the parsing of archive libraries. This +was fixed with commits 5acda13 and b06b8c6 in Make 4.0. + +[1]: https://savannah.gnu.org/bugs/?30612 +[2]: https://savannah.gnu.org/bugs/?30897 + +--- + +/pkg/dev86 # opkbuild -bcT build +opkbuild: Detecting architecture and platform... +opkbuild: Making work area... +opkbuild: Parsing package metadata... +opkbuild: Build system: +opkbuild: Architecture: amd64-linux-glibc +opkbuild: Platform: dev +opkbuild: Host system: +opkbuild: Architecture: amd64-linux-glibc +opkbuild: Platform: dev +ob-checkbuilddeps: Checking build dependencies... +ob-buildenv: Setting up build environment... +ob-unpacksource: Sources already unpacked +ob-applypatches: No patches to be applied +ob-installplatconf: No config files to be copied +oh-autobuild bcc/version.h +echo '#define VERSION "'"0.16.21"'"' > as/version.h +echo '#define VERSION "'"0.16.21"'"' > bootblocks/version.h +echo '#define VERSION "'"0.16.21"'"' > ld/version.h +VER=0.16.21 ; \ +echo "#define VER_MAJ ${VER%%.*}" >> bcc/version.h ; \ +VER="${VER#*.}" ; \ +echo "#define VER_MIN ${VER%.*}" >> bcc/version.h ; \ +echo "#define VER_PAT ${VER#*.}" >> bcc/version.h +make -C bcc CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' BCCARCH='' bcc ncc bcc-cc1 +make[4]: Entering directory `/pkg/dev86/tmp/src/bcc' +gcc -O2 -fno-strict-aliasing -DLOCALPREFIX=/usr -DBINDIR=/usr/bin -DDEFARCH=0 bcc.c -o bcc +gcc -O2 -fno-strict-aliasing -DLOCALPREFIX= -DDEFARCH=0 bcc.c -o ncc +gcc -O2 -fno-strict-aliasing -c bcc-cc1.c +gcc -O2 -fno-strict-aliasing -c codefrag.c +gcc -O2 -fno-strict-aliasing -c dbnode.c +gcc -O2 -fno-strict-aliasing -c declare.c +gcc -O2 -fno-strict-aliasing -c express.c +gcc -O2 -fno-strict-aliasing -c exptree.c +gcc -O2 -fno-strict-aliasing -c floatop.c +gcc -O2 -fno-strict-aliasing -c function.c +gcc -O2 -fno-strict-aliasing -c gencode.c +gcc -O2 -fno-strict-aliasing -c genloads.c +gcc -O2 -fno-strict-aliasing -c glogcode.c +gcc -O2 -fno-strict-aliasing -c hardop.c +gcc -O2 -fno-strict-aliasing -c input.c +gcc -O2 -fno-strict-aliasing -c label.c +gcc -O2 -fno-strict-aliasing -c loadexp.c +gcc -O2 -fno-strict-aliasing -c longop.c +gcc -O2 -fno-strict-aliasing -c output.c +gcc -O2 -fno-strict-aliasing -c preproc.c +gcc -O2 -fno-strict-aliasing -c preserve.c +gcc -O2 -fno-strict-aliasing -c scan.c +gcc -O2 -fno-strict-aliasing -c softop.c +gcc -O2 -fno-strict-aliasing -c state.c +gcc -O2 -fno-strict-aliasing -c table.c +gcc -O2 -fno-strict-aliasing -c type.c +gcc -O2 -fno-strict-aliasing -c assign.c +gcc -O2 -fno-strict-aliasing -c hashcmd.c +gcc -O2 -fno-strict-aliasing -c debug.c +gcc -O2 -fno-strict-aliasing -c dbprintf.c +dbprintf.c: In function 'vdbprintf': +dbprintf.c:110:13: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default] +gcc bcc-cc1.o codefrag.o dbnode.o declare.o express.o exptree.o floatop.o function.o gencode.o genloads.o glogcode.o hardop.o input.o label.o loadexp.o longop.o output.o preproc.o preserve.o scan.o softop.o state.o table.o type.o assign.o hashcmd.o debug.o dbprintf.o -o bcc-cc1 +make[4]: Leaving directory `/pkg/dev86/tmp/src/bcc' +cp -p bcc/bcc bin/Bcc +cp -p bcc/ncc bin/ncc +cp -p bcc/bcc-cc1 lib/bcc-cc1 +make -C cpp CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' bcc-cpp +make[4]: Entering directory `/pkg/dev86/tmp/src/cpp' +gcc -O2 -fno-strict-aliasing -c -o main.o main.c +gcc -O2 -fno-strict-aliasing -c -o cpp.o cpp.c +gcc -O2 -fno-strict-aliasing -c -o hash.o hash.c +gcc -O2 -fno-strict-aliasing -c -o token1.o token1.c +gcc -O2 -fno-strict-aliasing -c -o token2.o token2.c +gcc -O2 -fno-strict-aliasing -o bcc-cpp main.o cpp.o hash.o token1.o token2.o +make[4]: Leaving directory `/pkg/dev86/tmp/src/cpp' +cp -p cpp/bcc-cpp lib/bcc-cpp +make -C unproto CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' unproto +make[4]: Entering directory `/pkg/dev86/tmp/src/unproto' +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c tok_io.c -o tok_io.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c tok_class.c -o tok_class.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c tok_pool.c -o tok_pool.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c unproto.c -o unproto.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c vstring.c -o vstring.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c symbol.c -o symbol.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c error.c -o error.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c hash.c -o hash.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -c strsave.c -o strsave.o +gcc -O2 -fno-strict-aliasing -w -DREOPEN -o unproto tok_io.o tok_class.o tok_pool.o unproto.o vstring.o symbol.o error.o hash.o strsave.o +make[4]: Leaving directory `/pkg/dev86/tmp/src/unproto' +cp -p unproto/unproto lib/unproto +make -C copt CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' copt +make[4]: Entering directory `/pkg/dev86/tmp/src/copt' +gcc -O2 -fno-strict-aliasing -o copt copt.c +make[4]: Leaving directory `/pkg/dev86/tmp/src/copt' +cp -p copt/copt lib/copt +cp -p copt/rules.* lib/. +cp -p copt/rules.start lib/i386/. +cp -p copt/rules.386 lib/i386/. +cp -p copt/rules.end lib/i386/. +make -C as CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' all +make[4]: Entering directory `/pkg/dev86/tmp/src/as' +gcc -O2 -fno-strict-aliasing -c as.c +gcc -O2 -fno-strict-aliasing -c assemble.c +gcc -O2 -fno-strict-aliasing -c errors.c +gcc -O2 -fno-strict-aliasing -c express.c +gcc -O2 -fno-strict-aliasing -c genbin.c +gcc -O2 -fno-strict-aliasing -c genlist.c +gcc -O2 -fno-strict-aliasing -c genobj.c +gcc -O2 -fno-strict-aliasing -c gensym.c +gcc -O2 -fno-strict-aliasing -c keywords.c +gcc -O2 -fno-strict-aliasing -c macro.c +gcc -O2 -fno-strict-aliasing -c mops.c +gcc -O2 -fno-strict-aliasing -c pops.c +gcc -O2 -fno-strict-aliasing -c readsrc.c +gcc -O2 -fno-strict-aliasing -c scan.c +gcc -O2 -fno-strict-aliasing -c table.c +gcc -O2 -fno-strict-aliasing -c typeconv.c +gcc -O2 -fno-strict-aliasing -c alloc.c +gcc as.o assemble.o errors.o express.o genbin.o genlist.o genobj.o gensym.o keywords.o macro.o mops.o pops.o readsrc.o scan.o table.o typeconv.o alloc.o -o as86 +sed -e "s:%%LIBDIR%%:/usr/lib/bcc:" -e "s:%%BINDIR%%:/usr/bin:" \ + < as86_encap.sh > tmp +chmod +x as86_encap +make[4]: Leaving directory `/pkg/dev86/tmp/src/as' +cp -p as/as86 bin/as86 +cp -p as/as86_encap bin/as86_encap +make -C ar CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' all +make[4]: Entering directory `/pkg/dev86/tmp/src/ar' +test -f ar.h || \ +{ rm -f ar.h ; ln -s ../libc/include/ar.h . ; } || \ +ln ../libc/include/ar.h . +test -f rel_aout.h || \ +{ rm -f rel_aout.h ; ln -s ../ld/rel_aout.h . ; } || \ +ln ../ld/rel_aout.h . +gcc -O2 -fno-strict-aliasing -c ar.c -o ar.o +gcc -O2 -fno-strict-aliasing -c alloca.c -o alloca.o +gcc ar.o alloca.o -o ar86 +make[4]: Leaving directory `/pkg/dev86/tmp/src/ar' +cp -p ar/ar86 bin/ar86 +make -C ld CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' ld86 +make[4]: Entering directory `/pkg/dev86/tmp/src/ld' +test -f ar.h || \ +{ rm -f ar.h ; ln -s ../libc/include/ar.h . ; } || \ +ln ../libc/include/ar.h . +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c dumps.c -o dumps.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c io.c -o io.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c ld.c -o ld.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c readobj.c -o readobj.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c table.c -o table.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c typeconv.c -o typeconv.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c linksyms.c -o linksyms.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c mkar.c -o mkar.o +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c writex86.c -o writex86.o +writex86.c: In function 'write_elks': +writex86.c:448:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c writebin.c +gcc -O2 -fno-strict-aliasing -DREL_OUTPUT -c writeemu.c -o writeemu.o +In file included from writeemu.c:20:0: +writebin.c: In function 'write_dosemu': +writebin.c:560:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] +writebin.c:565:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] +writebin.c:567:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] +writebin.c:571:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] +gcc dumps.o io.o ld.o readobj.o table.o typeconv.o linksyms.o mkar.o writex86.o writebin.o writeemu.o -o ld86 +make[4]: Leaving directory `/pkg/dev86/tmp/src/ld' +cp -p ld/ld86 bin/ld86 +make -C ld CC='gcc' CFLAGS=' -O2 -fno-strict-aliasing' LDFLAGS='' PREFIX=/usr LIBDIR='/usr/lib/bcc' BINDIR='/usr/bin' ANSI='' objdump86 +make[4]: Entering directory `/pkg/dev86/tmp/src/ld' +gcc -O2 -fno-strict-aliasing objdump86.c -o objdump86 +make[4]: Leaving directory `/pkg/dev86/tmp/src/ld' +cp -p ld/objdump86 bin/objdump86 +test -f bin/ncc +make -C libc CC=ncc "CCFLAGS=-O" AR=ar86 ARFLAGS=r PLATFORM=i86-ELKS +make[4]: Entering directory `/pkg/dev86/tmp/src/libc' +ncc -c -Mn -O -D__LIBC__ -D__LIBC_VER__='"0.16.21"' -o crt0.o crt0.c +transfer: +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/kinclude' +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/kinclude' +transfer: +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/malloc' +rm: can't remove '../include/malloc.h': No such file or directory +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/malloc' +transfer: +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/regexp' +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/regexp' +transfer: +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/stdio' +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/stdio' +transfer: +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/string' +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/string' +-n +make[5]: Entering directory `/pkg/dev86/tmp/src/libc/bcc' +make[5]: *** No rule to make target `__ldivmod.o)', needed by `/pkg/dev86/tmp/src/libc/libc.a'. Stop. +make[5]: Leaving directory `/pkg/dev86/tmp/src/libc/bcc' +make[4]: *** [/pkg/dev86/tmp/src/libc/libc.a] Error 1 +make[4]: Leaving directory `/pkg/dev86/tmp/src/libc' +make[3]: *** [library] Error 2 +make[3]: Leaving directory `/pkg/dev86/tmp/src' +make[2]: *** [all] Error 2 +make[2]: Leaving directory `/pkg/dev86/tmp/src' +make[1]: *** [all] Error 2 +make[1]: Leaving directory `/pkg/dev86/tmp/src' +make: *** [build] Error 2 diff --git a/changelog b/changelog index cfae64e..b5d48f1 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,4 @@ -dev86 (0.16.21-1) trunk +bin86 (0.16.21-1) trunk * Initial release. diff --git a/source.mk b/source.mk index 7134832..9144960 100644 --- a/source.mk +++ b/source.mk @@ -1,4 +1,4 @@ -upstream_archive = Dev86src-$(OPK_SOURCE_VERSION_UPSTREAM).tar.gz +upstream_archive = bin86-$(OPK_SOURCE_VERSION_UPSTREAM).tar.gz upstream_base_url = http://v3.sk/~lkundrak/dev86 source_archive = ../$(OPK_SOURCE)-$(OPK_SOURCE_VERSION_UPSTREAM).orig.tar.gz -- cgit v0.9.1