mirror of
https://github.com/enjoy-digital/litex.git
synced 2025-01-04 09:52:26 -05:00
software: compile compiler-rt ourselves
This commit is contained in:
parent
d576893bda
commit
7adee988f2
3 changed files with 33 additions and 11 deletions
15
README
15
README
|
@ -7,7 +7,7 @@ introducing two key innovations:
|
|||
* Increased system memory performance thanks to a new architecture
|
||||
(ASMI) containing a transaction-reordering and superscalar controller.
|
||||
|
||||
The Milkymist-NG SoC supports the Milkymist One board. Obtain yours from:
|
||||
The Milkymist-NG SoC supports the Milkymist One board. Obtain yours at:
|
||||
http://milkymist.org
|
||||
|
||||
Note that the -NG version is still experimental work in progress. For the
|
||||
|
@ -31,15 +31,12 @@ production version of Milkymist SoC, visit:
|
|||
make
|
||||
make install
|
||||
|
||||
3. Build compiler-rt.
|
||||
git clone git://github.com/milkymist/compiler-rt-lm32.git
|
||||
cd compiler-rt-lm32
|
||||
make lm32
|
||||
3. Obtain compiler-rt and set the CRTDIR environment variable to the root of
|
||||
its source tree.
|
||||
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
|
||||
export CRTDIR=/path_to/compiler-rt
|
||||
|
||||
4. Set the CRTDIR environment variable to where libcompiler_rt.a is.
|
||||
export CRTDIR=/path_to/compiler-rt-lm32/lm32/lm32
|
||||
|
||||
5. Build and flash the BIOS (part of this source distribution).
|
||||
4. Build and flash the BIOS (part of this source distribution).
|
||||
cd software/bios
|
||||
make
|
||||
make flash
|
||||
|
|
|
@ -20,8 +20,8 @@ bios-rescue.elf: linker-rescue.ld $(OBJECTS) libs
|
|||
%.elf:
|
||||
$(LD) $(LDFLAGS) -T $< -N -o $@ $(OBJECTS) \
|
||||
-L$(M2DIR)/software/libbase \
|
||||
-L$(CRTDIR) \
|
||||
-lbase -lcompiler_rt
|
||||
-L$(M2DIR)/software/libcompiler-rt \
|
||||
-lbase -lcompiler-rt
|
||||
chmod -x $@
|
||||
|
||||
%.o: %.c
|
||||
|
@ -31,6 +31,7 @@ bios-rescue.elf: linker-rescue.ld $(OBJECTS) libs
|
|||
$(assemble)
|
||||
|
||||
libs:
|
||||
make -C $(M2DIR)/software/libcompiler-rt
|
||||
make -C $(M2DIR)/software/libbase
|
||||
|
||||
flash: bios.bin
|
||||
|
|
24
software/libcompiler-rt/Makefile
Normal file
24
software/libcompiler-rt/Makefile
Normal file
|
@ -0,0 +1,24 @@
|
|||
M2DIR=../..
|
||||
include $(M2DIR)/software/common.mak
|
||||
|
||||
CFLAGS+=-D_YUGA_LITTLE_ENDIAN=0 -D_YUGA_BIG_ENDIAN=1 -Wno-missing-prototypes
|
||||
|
||||
OBJECTS=divsi3.o modsi3.o comparedf2.o negsf2.o negdf2.o addsf3.o subsf3.o mulsf3.o divsf3.o lshrdi3.o muldi3.o divdi3.o ashldi3.o ashrdi3.o udivmoddi4.o \
|
||||
floatsisf.o floatunsisf.o fixsfsi.o fixunssfsi.o adddf3.o subdf3.o muldf3.o divdf3.o floatsidf.o floatunsidf.o floatdidf.o fixdfsi.o fixunsdfsi.o
|
||||
|
||||
all: libcompiler-rt.a
|
||||
|
||||
# pull in dependency info for *existing* .o files
|
||||
-include $(OBJECTS:.o=.d)
|
||||
|
||||
libcompiler-rt.a: $(OBJECTS)
|
||||
$(AR) clr libcompiler-rt.a $(OBJECTS)
|
||||
$(RANLIB) libcompiler-rt.a
|
||||
|
||||
%.o: $(CRTDIR)/lib/%.c
|
||||
$(compile-dep)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
rm -f $(OBJECTS) $(OBJECTS:.o=.d) libcompiler-rt.a .*~ *~
|
Loading…
Reference in a new issue