Re: Right BCC version to use ?

MFLD <[email protected]> Fri, 27 Mar 2015 19:03:34 +0100
Newsgroups org.kernel.vger.linux-8086
Message-ID <[email protected]>
Hello,

I am afraid moving the current build chain to another compiler is too 
ambitious... and selecting another "exotic" compiler would not bring us 
back into the mainstream...

Back to the initial question, I finally moved to your bin86/dev86 fork 
by cloning your GIT repository. I added a .gitignore to have a more 
clear view on "git status" when doing some changes, please find it 
attached as a patch proposal (big things start with little steps).

Regards,

MFLD


Le 24/03/2015 22:50, David Given a écrit :
> On 24/03/15 12:30, Jody Bruchon wrote:
> [...]
>> ELKS is tightly tied to BCC for now, so some future development will probably require changes to it. A big difference between BCC and GCC is that BCC includes a C library and headers whereas GCC is only a compiler and requires a C library to be built separately. That means I can't fix issues with the C library without bringing the whole thing along.
> While I wouldn't suggest it for *new* development, because the compiler
> technology is old and clunky and rather unmaintainable, but the ACK is
> an ANSI C compiler suite which supports 8086 and comes with a full libc
> --- this is what Minix used. It's even theoretically possible to run it
> self-hosted on an ELKS-style machine, although it'd take work to recover
> that ability these days. The 8086 coded generate isn't too bad. (Minix
> was developed with it, after all.)
>
> The downside is that it lives in its own little universe and doesn't
> interoperate with anything; you have to use the ACK object file format
> and the ACK linker etc. I believe it already supports Minix 16/16
> segmented binaries.
>
> The effort needed to persuade the ACK to produce ELKS executables is
> probably quite small --- it already has partial support for ix86 and
> m68k Linux; how different is the ELKS system call model? Making it build
> the kernel is probably harder due to different dev86 and ACK linker magic.
>
> This would only be worthwhile as a stopgap until 8086 gcc or pcc is
> available, and it would need some careful evaluation of the code
> quality, but it might be worth looking into.
>
> The fairly elderly website is at: http://tack.sourceforge.net/
>
.gitignore (text/plain, 750 B)
# .gitignore for DEV86
# Ignore output files

# Object and archive files

*.o
*.a

# Output directories

bin/
lib/

# Output files

ifdefg
include
make.fil

ar/ar.h
ar/ar86
ar/rel_aout.h

as/as86
as/as86_encap
as/version.h

bcc/bcc
bcc/bcc-cc1
bcc/ncc
bcc/version.h

bootblocks/version.h

copt/copt

cpp/bcc-cpp

ld/ar.h
ld/ld86
ld/objdump86
ld/version.h

libc/.config.dir
libc/.config.lst
libc/error/error_list.h
libc/i386sys/syscall.c
libc/i386sys/syscall.mak
libc/include/arch
libc/include/linuxmt
libc/include/malloc.h
libc/include/regexp.h
libc/include/regmagic.h
libc/include/stdio.h
libc/include/string.h
libc/syscall/call_tab.v
libc/syscall/defn_tab.v
libc/syscall/syscall.c
libc/syscall/syscall.dat
libc/syscall/syscall.mak

unproto/unproto