chore: lib/ cleanup
Some checks failed
Build / test (push) Has been cancelled
Docs / test (push) Has been cancelled

This commit is contained in:
d0p1 🏳️‍⚧️ 2024-03-24 09:44:14 +01:00
parent 2b425caf5f
commit 9a5b474ad2
10 changed files with 59 additions and 38 deletions

View file

@ -1,11 +1,11 @@
SUBDIRS = crypto SUBDIRS = csu crypto
TOPGOALS = all clean install TOPGOALS = all clean install
.PHONY: $(SUBDIRS) .PHONY: $(SUBDIRS)
$(SUBDIRS): $(SUBDIRS):
@echo "📁 lib/$@" @echo "📁 lib/$@"
@DESTDIR=$(DESTDIR)/lib $(MAKE) -C $@ $(MAKECMDGOALS) @DESTDIR=$(DESTDIR)/usr/lib $(MAKE) -C $@ $(MAKECMDGOALS)
.PHONY: $(TOPGOALS) .PHONY: $(TOPGOALS)
$(TOPGOALS): $(SUBDIRS) $(TOPGOALS): $(SUBDIRS)

View file

@ -1,5 +1,17 @@
all: TARGET = libcrypto.a
OBJS = hash/sha256.o
all: $(TARGET)
$(TARGET): $(OBJS)
$(AR) rcs $@ $^
%.o: %.asm
$(AS) $< $@
clean: clean:
$(RM) $(TARGET) $(OBJS)
install: install: $(TARGET)
@ mkdir -p $(DESTDIR)
install $(TARGET) $(DESTDIR)

View file

@ -1,3 +0,0 @@
; file: keccak.s
; Keccak 256 cryptographic hash

View file

@ -5,22 +5,23 @@
; ;
; About: CPU compatibility ; About: CPU compatibility
; /!\ Only work on *486+* due to bswap for now. ; /!\ Only work on *486+* due to bswap for now.
[BITS 32] format COFF
use32
section .rodata section '.data' data
; Constant: K ; Constant: K
; SHA-256 round constants ; SHA-256 round constants
K: K:
dd 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, dd 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5
dd 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, dd 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174
dd 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, dd 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da
dd 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, dd 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967
dd 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, dd 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85
dd 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, dd 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070
dd 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, dd 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3
dd 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 dd 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
section .text section '.text' code
; Function: sha256_compute_block ; Function: sha256_compute_block
sha256_compute_block: sha256_compute_block:
@ -89,7 +90,7 @@ sha256_internal:
; out: ; out:
; none ; none
; ;
global sha256 public sha256
sha256: sha256:
push ebp push ebp
mov ebp, esp mov ebp, esp

View file

@ -1,2 +0,0 @@
; file: ecdsa.s
; Elliptic Curve Digital Signature Algorithm (ECDSA)

13
lib/csu/Makefile Normal file
View file

@ -0,0 +1,13 @@
TARGET = crt0.o
all: $(TARGET)
%.o: %.asm
$(AS) $< $@
clean:
$(RM) $(TARGET)
install: $(TARGET)
@ mkdir -p $(DESTDIR)
install $(TARGET) $(DESTDIR)

18
lib/csu/crt0.asm Normal file
View file

@ -0,0 +1,18 @@
format COFF
use32
public _start
extrn main
extrn exit
section '.text' code
public _start
_start:
xor ebp, ebp
call main
call exit

View file

@ -1,10 +0,0 @@
; file: crt0.s
;
[BITS 32]
section .text
.global _start
_start:
xor ebp, ebp

View file

@ -1,5 +0,0 @@
CLASS Error;
MESSAGE
END;

View file

@ -1,3 +0,0 @@
CLASS File;
END;