|  | @@ -41,6 +41,15 @@ SRC=\
 | 
											
												
													
														|  |  	Cargo.* \
 |  |  	Cargo.* \
 | 
											
												
													
														|  |  	$(shell find src -type f)
 |  |  	$(shell find src -type f)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
 | 
											
												
													
														|  | 
 |  | +WEAKEN_SYMBOLS=\
 | 
											
												
													
														|  | 
 |  | +	-W __divti3 \
 | 
											
												
													
														|  | 
 |  | +	-W __fixdfti \
 | 
											
												
													
														|  | 
 |  | +	-W __floattidf \
 | 
											
												
													
														|  | 
 |  | +	-W __muloti4 \
 | 
											
												
													
														|  | 
 |  | +	-W __udivti3 \
 | 
											
												
													
														|  | 
 |  | +	-W __umodti3
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  .PHONY: all clean fmt install install-headers libs test
 |  |  .PHONY: all clean fmt install install-headers libs test
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  all: | libs
 |  |  all: | libs
 | 
											
										
											
												
													
														|  | @@ -115,7 +124,7 @@ $(BUILD)/debug/libc.so: $(BUILD)/debug/librelibc.a $(BUILD)/pthreads-emb/libpthr
 | 
											
												
													
														|  |  $(BUILD)/debug/librelibc.a: $(SRC)
 |  |  $(BUILD)/debug/librelibc.a: $(SRC)
 | 
											
												
													
														|  |  	CARGO_INCREMENTAL=0 $(CARGO) rustc $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
 |  |  	CARGO_INCREMENTAL=0 $(CARGO) rustc $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
 | 
											
												
													
														|  |  	# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
 |  |  	# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
 | 
											
												
													
														|  | -	$(OBJCOPY) $@ -W __divti3 -W __muloti4 -W __udivti3 -W __floattidf -W __fixdfti
 |  | 
 | 
											
												
													
														|  | 
 |  | +	$(OBJCOPY) $@ $(WEAKEN_SYMBOLS)
 | 
											
												
													
														|  |  	touch $@
 |  |  	touch $@
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  $(BUILD)/debug/crt0.o: $(SRC)
 |  |  $(BUILD)/debug/crt0.o: $(SRC)
 | 
											
										
											
												
													
														|  | @@ -153,8 +162,7 @@ $(BUILD)/release/libc.so: $(BUILD)/release/librelibc.a $(BUILD)/pthreads-emb/lib
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  $(BUILD)/release/librelibc.a: $(SRC)
 |  |  $(BUILD)/release/librelibc.a: $(SRC)
 | 
											
												
													
														|  |  	CARGO_INCREMENTAL=0 $(CARGO) rustc --release $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
 |  |  	CARGO_INCREMENTAL=0 $(CARGO) rustc --release $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
 | 
											
												
													
														|  | -	# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
 |  | 
 | 
											
												
													
														|  | -	$(OBJCOPY) $@ -W __divti3 -W __muloti4 -W __udivti3 -W __floattidf -W __fixdfti
 |  | 
 | 
											
												
													
														|  | 
 |  | +	$(OBJCOPY) $@ $(WEAKEN_SYMBOLS)
 | 
											
												
													
														|  |  	touch $@
 |  |  	touch $@
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  $(BUILD)/release/crt0.o: $(SRC)
 |  |  $(BUILD)/release/crt0.o: $(SRC)
 |