This topic contains 40 replies, has 2 voices, and was last updated by rich 9 years, 7 months ago.
-
AuthorPosts
-
February 10, 2014 at 1:09 am #1565
GordonHi Ternet have you tied going ot he binutils directory and doing a make install? _ suspect there might be a step missing in the makefile
February 14, 2014 at 7:02 am #1608
TrentHi guys,
I am still unable to get ellcc to self host (it does the first build but not the second)
Has anyone else been successful at getting ellcc to self host?
February 15, 2014 at 10:20 am #1630
RobertNJust did a env update and on OS-X 10.9.1 and I’m still failing on building the libecc with dcc, see below.
-RobertN
/Users/administrator/Code/ellcc/libecc/../bin/ecc -std=c99 -nostdinc -ffreestanding -frounding-math -D_XOPEN_SOURCE=700 -I./arch/arm -I./src/internal -I./include -g -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -Wa,--noexecstack -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith -Wall -Wno-parentheses -Wno-uninitialized -Wno-missing-braces -Wno-unused-value -Wno-unknown-pragmas -fno-stack-protector -target arm-ellcc-linux-eabi -march=armv7 -mfpu=vfp -mfloat-abi=softfp -no-integrated-as -g -Qunused-arguments -Wno-unneeded-internal-declaration -Wno-cast-align -Wno-incompatible-pointer-types -Wno-string-plus-int -Wno-pointer-sign -Wno-array-bounds -Wno-dangling-else -Wno-int-to-pointer-cast -c -o src/bsd/parsedate.o src/bsd/parsedate.c y.tab.c:1409:16: error: implicit declaration of function 'yylex' is invalid in C99 [-Werror,-Wimplicit-function-declaration] yychar = YYLEX; ^
February 16, 2014 at 12:12 am #1638
GordonLatest update not happy with OSX 10.9.1:
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../../src/gdb/opcodes -I. -I../../../src/gdb/opcodes -I../bfd -I../../../src/gdb/opcodes/../include -I../../../src/gdb/opcodes/../bfd -I./../intl -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -Wno-unused-value -Wno-error=deprecated-declarations -MT mips-dis.lo -MD -MP -MF .deps/mips-dis.Tpo -c ../../../src/gdb/opcodes/mips-dis.c -o mips-dis.o
../../../src/gdb/opcodes/mips-dis.c:588:18: error: use of undeclared identifier
‘INSN_SMARTMIPS’
ISA_MIPS32 | INSN_SMARTMIPS,
^
../../../src/gdb/opcodes/mips-dis.c:594:21: error: use of undeclared identifier
‘INSN_SMARTMIPS’
(ISA_MIPS32R2 | INSN_SMARTMIPS | INSN_DSP | INSN_DSPR2February 16, 2014 at 12:17 am #1639
GordonDisregard last post, turns out I had an incomplete svn update…
February 16, 2014 at 1:08 am #1641
GordonOSX 10.9.1: there are some issues:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: warning for library: .libs/libedit.a the table of contents is empty (no object file members in the library define global symbols)
Making all in examples
CC tc1.o
CCLD tc1
tc1.o: In function `main’:
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:146: undefined reference to `history_init’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:150: undefined reference to `tok_init’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:153: undefined reference to `el_init’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:155: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:156: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:157: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:148: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:160: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:163: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:166: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:172: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:173: undefined reference to `el_set’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:178: undefined reference to `el_source’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:180: undefined reference to `el_gets’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:187: undefined reference to `el_line’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:206: undefined reference to `tok_line’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:231: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:262: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:280: undefined reference to `el_parse’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:199: undefined reference to `el_reset’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:269: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:254: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:271: undefined reference to `history’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:301: undefined reference to `tok_reset’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:180: undefined reference to `el_gets’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:304: undefined reference to `el_end’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:305: undefined reference to `tok_end’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:306: undefined reference to `history_end’
tc1.o: In function `complete’:
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:98: undefined reference to `el_line’
/Users/gordon/Applications/ellcc/libecc/libedit-build/arm/linux/examples/tc1.c:114: undefined reference to `el_insertstr’
ecc: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [tc1] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [arm.libedit.build] Error 2
make: *** [arm] Error 2
gordons-mbp-3:ellcc gordon$February 16, 2014 at 3:54 am #1644
GordonSuccess! – failed on the first pass, but the second pass seemed to work.
However, despite finishing with no fatal errors it fails the sanity checks:
********************
Testing Time: 6.59s
********************
Failing Tests (44):
ELLCC :: obj/arm/linux/bin/make.tc
ELLCC :: obj/armeb/linux/bin/make.tc
ELLCC :: obj/i386/linux/bin/make.tc
ELLCC :: obj/microblaze/linux/bin/make.tc
ELLCC :: obj/mips/linux/bin/make.tc
ELLCC :: obj/mipsel/linux/bin/make.tc
ELLCC :: obj/ppc/linux/bin/make.tc
ELLCC :: obj/x86_64/linux/bin/make.tc
ELLCC :: src/bzip2-1.0.6/bzip2.tc
regression :: bugs/PR26.c
regression :: bugs/PR27.c
regression :: bugs/PR68.c
regression :: bugs/PR70.c
regression :: gen/assert1.c
regression :: gen/assert2.c
regression :: gen/ctype.c
regression :: gen/errno.c
regression :: gen/float.c
regression :: gen/iso646.c
regression :: gen/limits.c
regression :: gen/setjmp.c
regression :: gen/signal.c
regression :: gen/stdarg.c
regression :: gen/stdbool.c
regression :: gen/stddef.c
regression :: gen/stdint.c
regression :: langc++/ctor.cpp
regression :: langc++/first.cpp
regression :: langc++/second.cpp
regression :: langc/vla.c
regression :: locale/locale.c
regression :: math/complex.c
regression :: math/math.c
regression :: math/tgmath.c
regression :: simple/empty.c
regression :: simple/hello.c
regression :: stdio/format.c
regression :: stdio/stdio.c
regression :: stdlib/inttypes.c
regression :: stdlib/stdlib.c
regression :: string/string.c
regression :: time/time.c
regression :: wchar/wchar.c
regression :: wchar/wchtype.cExpected Passes : 3
Expected Failures : 16
Unexpected Failures: 44
make: *** [check] Error 1February 16, 2014 at 6:01 am #1645
GordonHi Rich, when i move the binary file to my ARM Linux environment and try to run it, i get an illegal instruction.
I know the ARM Linux environment is OK as I can get the Archlinux chain to give me a binary i can run.
I think I’ve either got missing components, or incorrect options selected, any hints on how to find the error?
Gordon
February 18, 2014 at 4:59 am #1660
GordonRe:
>Gordon,
>
>I missed your previous post about getting nothing when you used -no-integrated-as. >That’s good! Nothing means that the output file was created and is named a.out. Put >it on your ARM board and have it say hello.
>
>-RichHi Rich, I get an illegal instruction, I’m guessing that the compiler output is static (baremetal) and not really for Linux.
When I run “file” on the ellcc binary, I get:
gordon@ubuntu:~/armwork/obj$ file helloarm9.o
helloarm9.o: ELF 32-bit LSB executable, ARM, version 1, statically linked, BuildID[sha1]=0x1d4ca74c8f8f121ff0e198280c673c78e64b6004, not strippedA binary that does work on the Arm Linux (not from ellcc) gives me:
gordon@ubuntu:~/armwork$ file a.out
a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, not strippedI’m close, but not quite there… 🙂
February 20, 2014 at 4:28 am #1680
TrentI have finally gotten it to successfully compile (and self host) on Ubuntu 13.04 server (amd64)
Here are the steps I took (for future reference of others) from a clean install
#!/bin/bash
# Get basic dependencies for life
sudo apt-get -y install ssh vim curl# Update to the latest version
sudo apt-get update
sudo apt-get dist-upgrade# Install the dependencies to build ellcc
sudo apt-get install -y subversion build-essential zlib1g-dev libncurses5-dev byacc flex libglib2.0-dev dh-autoreconf texinfo# Get ellcc
svn co http://ellcc.org/svn/ellcc/trunk ellcc# Build ellcc using glib
cd ellcc
./build
# byacc fails on second build… use bison instead?
sudo apt-get install -y bison
./buildFebruary 20, 2014 at 5:47 am #1681Hi Trent,
Thanks for the input. I’m glad you were finally able to get a successful build.
-Rich
-
AuthorPosts
You must be logged in to reply to this topic.