Giter Club home page Giter Club logo

nkim-bitzap / chili-gcc-8.4 Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 126.03 MB

Re-port of the OnDemand (RIP) Chili VLIW architecture to gcc-8.4 as a COVID-19 countermeassure

License: GNU General Public License v2.0

Makefile 2.36% Shell 0.99% M4 0.73% Python 0.20% Perl 0.09% Vim Script 0.01% C 53.66% C++ 15.54% Awk 0.05% HTML 0.91% Smarty 0.01% Logos 0.15% Objective-C 0.55% Ada 17.96% TeX 0.51% Pawn 0.03% GCC Machine Description 4.79% OCaml 0.01% Standard ML 0.01% Roff 1.47%
compiler embedded embedded-systems gnu gcc port architecture vliw cpu target

chili-gcc-8.4's Introduction

chili-gcc-8.4

Experimental gcc re-port to the OnDemand (RIP) VLIW Chili architecture. Yeah, it is 2020 and we have to counter COVID-19 somehow.

Merely intended to be educational for those into embedded compiler development. The target architecture plays no role in the embedded world (it actually never did), and despite of all its flaws and shortcomings, it might be interesting (again, for educational purposes) for porting since featuring a comparably simple core ISA.

Unfortunately, there is no way to target the hardware, the only way to test the code is the old ISS i am possibly going to port later.

There is only a very rudimentary documentation that does not cover every detail, thus, things that are unclear are free to be interpreted in a most pleasing way.

NOTE, while the original company is long gone and only a bunch of folks know what what Chili is/was, if you happen to be one of the IP owners, please let me know, until then, let the architecture serve the public in good will.

chili-gcc-8.4's People

Contributors

nkim-bitzap avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

parthitce

chili-gcc-8.4's Issues

Porting gcc 11 to new architecture

Hi Kim,

Thank you very much your binutils and gcc porting tutorials. These help me very much to understand the binutils and gcc.

I have a few questions about the gcc porting.

I was trying to port the chilli architecture on gcc 11.2 by following the steps you showed in the youtube tutorial. After fixing some replaced types that introduced in the newer version, I met a segmentation fault when building the gcc. The error is like this:

/home/myname/gcc/build/./gcc/xgcc -B/home/myname/gcc/build/./gcc/ -xc -nostdinc /dev/null -S -o /dev/null -fself-test=../../src/gcc/testsuite/selftests
cc1: internal compiler error: Segmentation fault
0x1077d78 crash_signal
        ../../src/gcc/toplev.c:327
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.

Do you have any idea what is causing this error?
I tried to use gdb to track which line causes this error, and it shows that it gives out from a strcmp() function in the "../../src/gcc/gcc.c", I tried to print the string that it is comparing, but it is having value "-", so I think it is not accessing a null pointer?

If I am trying to port a gcc on a toy architecture, which version of gcc will you recommend me to port to? Should I use version 8.4 like you did, or 9.4?

Thank you very much again.

ISA & ABI for chili

Thank you very much for the wonderful effort in creating the understanding for gcc backend port.

Questoin:

  • Do we have standard ISA and ABI document for this architecture?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.