X-Git-Url: http://nsz.repo.hu/git/?p=musl-tables;a=blobdiff_plain;f=Makefile;h=ed1d524f8fec9cf9f3026a1fe1ebb8290a9b1828;hp=afb6f3d8d15c8cdd7d0dc6f2994b16868f9af94d;hb=HEAD;hpb=f31564f13a1cbf5b9e562a82a3ab9c8e28285d23 diff --git a/Makefile b/Makefile index afb6f3d..fec8438 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,4 @@ -MUSL=../musl - -all: tables sizeof +all: tables abi clean: rm -f sizeof*.o sizeof-glibc sizeof-musl sizeof.diff tab_*.html @@ -8,10 +6,30 @@ clean: tables: MUSL=$(MUSL) ./update.sh +ARCH = x86_64 i386 arm mips m68k powerpc sh x32 + +abi: $(ARCH:%=data/abi_type.%.musl) $(ARCH:%=data/abi_func.%.musl) + +$(ARCH:%=abi_type.%.cc) abi_func.cc: tables + +T-x86_64 = x86_64-linux-musl +T-i386 = i486-linux-musl +T-arm = arm-linux-musleabi +T-mips = mips-linux-musl +T-m68k = m68k-linux-musl +T-powerpc = powerpc-linux-musl +T-sh = sh4-linux-musl +T-x32 = x86_64-linux-muslx32 + +data/abi_type.%.musl: abi_type.%.cc + ARCH=$* CXX='$(T-$*)-g++ -nostdinc -isystem /tmp/T.$*/include' ./abi_type_data.sh >$@ +data/abi_func.%.musl: abi_func.cc + CXX='$(T-$*)-g++ -nostdinc -isystem /tmp/T.$*/include' ./abi_func_data.sh >$@ + sizeof: sizeof-glibc sizeof-musl - ./sizeof-glibc >data/glibc.sizeof - ./sizeof-musl >data/musl.sizeof - diff -U1 data/glibc.sizeof data/musl.sizeof >data/sizeof.diff || true + ./sizeof-glibc >data/sizeof.ARCH.glibc + ./sizeof-musl >data/sizeof.ARCH.musl + diff -U1 data/sizeof.ARCH.glibc data/sizeof.ARCH.musl >data/sizeof.ARCH.diff || true LIBGCC=`gcc -print-file-name=libgcc.a |sed 's,/libgcc.a$$,,'` # when compiling with pcc @@ -32,3 +50,17 @@ sizeof-musl: sizeof.c sizeof-g++: sizeof.c g++ -std=gnu99 -nostdinc -fno-stack-protector -isystem $(MUSL)/include -isystem $(LIBGCC) -isystem /usr/include -c -o $@.o $< ld -o $@ $@.o -X -d -e _start -Bstatic $(MUSL)/lib/crti.o $(MUSL)/lib/crt1.o $(MUSL)/lib/crtn.o -L$(MUSL)/lib -lc -L$(LIBGCC) -lgcc -nostdlib + +#abi: abi.ARCH.diff +# cp abi.ARCH.* data/ + +#abi_type.cc: +# ./abi_type.sh +abi.ARCH.glibc: abi_type.cc + g++ -std=c++11 $(GLIBC_FLAGS) -c -o $@.o $< + nm -C $@.o |sed -n 's/^[[:xdigit:]]* T //p' |sort >$@ +abi.ARCH.musl: abi_type.cc + g++ -std=c++11 -nostdinc -fno-stack-protector -isystem $(MUSL)/include -isystem $(LIBGCC) -isystem /usr/include -c -o $@.o $< + nm -C $@.o |sed -n 's/^[[:xdigit:]]* T //p' |sort >$@ +abi.ARCH.diff: abi.ARCH.glibc abi.ARCH.musl + diff -U0 $^ >$@ || true