This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Jeffrey A Law wrote: > > In message <002901bf742f$404f7fa0$7304460c@n8l9c8>you write: > > Did anyone ever create a gcc for the Z800x microcontroller? I can't = > > find any hints in the search engines, and although there's an assembler = > > and debugger under gcc-2.9.x, there's no gcc. > > Cygnus did one a few years ago. It wasn't what I'd call a clean port and > required some totally inappropriate hacks to the target independent parts > of the compiler. One guy asked this sometimes in 1997 and I helped him to get it work from the Cygwin-b18 or b19 sources. Now the 'gcc/config/z8k' is at least with the eCos-1.21 sources (non-working of course). Hmmm... I have the compiler built then only on a backup CDR (saved from '/usr' downwards) : F:\local\bin>gcc-z8k -v Using builtin specs. gcc version cygnus-2.7.2-970404 F:\local\bin>gcc-z8k -print-search-dirs install: /usr/local/lib/gcc-lib/z8k-coff/2_7_2_c/ But the problems were in the target dependent parts then, e.g. the 'FIRST_PSEUDO_REGISTER' was changed, but some parts still expected it to be '16'... Ok, the fixes were still there : ---------------- clip------------------------------ diff -r --exclude=*.o --exclude=*~ --unified ./gcc/config/z8k/t-z8k //h/Rotortuner/Cygnus/B19/src/gcc/config/z8k/t-z8k --- ./gcc/config/z8k/t-z8k Tue Apr 15 09:01:31 1997 +++ //h/Rotortuner/Cygnus/B19/src/gcc/config/z8k/t-z8k Tue May 26 10:45:57 1998 @@ -1,7 +1,11 @@ CROSS_LIBGCC1 = libgcc1.null -LIBGCC2_CFLAGS = -DCMPtype=HItype -g -O2 +# This used to override LIBGCC2_CFLAGS. This causes problems because certain functions +# then assume libc and standard include files. Also set inhibit_libc to make sure +# there are no libc function calls +TARGET_LIBGCC2_CFLAGS = -DCMPtype=HItype -Dinhibit_libc LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c $(srcdir)/config/z8k/lib2funcs.c - +# For the z8k we only make a C compiler +LANGUAGES = c proto gcov fp-bit.c: $(srcdir)/config/fp-bit.c echo '#define FLOAT' > fp-bit.c diff -r --exclude=*.o --exclude=*~ --unified ./gcc/config/z8k/z8k.c //h/Rotortuner/Cygnus/B19/src/gcc/config/z8k/z8k.c --- ./gcc/config/z8k/z8k.c Tue Apr 15 09:01:32 1997 +++ //h/Rotortuner/Cygnus/B19/src/gcc/config/z8k/z8k.c Sun May 24 19:44:39 1998 @@ -958,9 +958,12 @@ TREE_ASM_WRITTEN (name_tree) = 1; } - data_section (); - assemble_name (file, name); - fprintf (file, ":\n\tblock\t%u\n", rounded); + // data_section (); + //assemble_name (file, name); + //fprintf (file, ":\n\tblock\t%u\n", rounded); + fputs(".lcomm ",file ); + assemble_name (file,name); + fprintf( file, ",%u\n",rounded ); } void @@ -2233,11 +2236,11 @@ /* The mask is a bit-for-bit for the internal register numbering system, so r10 has the fp in it. We work out the external register numbering so that we can push the registers efficiently */ - int exregs[FIRST_PSEUDO_REGISTER]; + int exregs[ 16 ]; memset (exregs, 0, sizeof (exregs)); - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) + for (i = 0; i < 16; i++) { if (mask & (1<<i)) { @@ -2245,7 +2248,7 @@ } } - for (i = 0; i < FIRST_PSEUDO_REGISTER; i+=2) + for (i = 0; i < 16; i+=2) { if (exregs[i] && exregs[i+1]) { ---------------- clip------------------------------ > It's bit-rotted a lot over the last 2-3 years. I believe that... > If you're interested in cleaning it up and submitting it for inclusion into > GCC, I can forward you the target dependent files. The previous patch may serve as a start, at least a 2.7.2.x version can be possible first. I would be a little pessimistic with egcs-1.1.x or gcc-2.95.x... Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |