Changeset 30e9f42 in mainline for uspace/lib


Ignore:
Timestamp:
2018-04-15T21:39:04Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Children:
d9fdd5a
Parents:
902dd4b
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-15 21:38:52)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-15 21:39:04)
Message:

Instead of generating headers for certain structures,
write the headers manually and automate checking correctness instead.

Location:
uspace/lib/c
Files:
18 added
18 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/Makefile

    r902dd4b r30e9f42  
    4747-include arch/$(UARCH)/Makefile.inc
    4848
    49 ARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(ARCH_AUTOGENS_AG)))
    50 ARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(ARCH_AUTOGENS_AG)))
    51 ARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(ARCH_AUTOGENS_AG)))
    52 
    53 PRE_DEPEND += $(ARCH_AUTOGENS_H)
    54 EXTRA_CLEAN += $(ARCH_AUTOGENS_H) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
     49ARCH_AUTOGENS_PROBE_C := $(ARCH_AUTOGENS_AG:%.ag.h=.ag.c)
     50ARCH_AUTOGENS_PROBE_S := $(ARCH_AUTOGENS_AG:%.ag.h=.ag.s)
     51
     52PRE_DEPEND += $(ARCH_AUTOGENS_AG)
     53EXTRA_CLEAN += $(ARCH_AUTOGENS_AG) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
    5554
    5655GENERIC_SOURCES = \
     
    179178endif
    180179
     180ARCH_SOURCES += $(ARCH_AUTOCHECK_HEADERS:%.h=%.check.c)
     181
    181182SOURCES = \
    182183        $(GENERIC_SOURCES) \
     
    195196include $(USPACE_PREFIX)/Makefile.common
    196197
    197 %.h: %.ag
    198         $(AUTOGEN) probe $< >$<.probe.c
    199         $(CC_AUTOGEN) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c
    200         $(AUTOGEN) generate $< <$<.probe.s >$@
    201 
    202198$(LIBC_PREFIX)/arch/$(UARCH)/_link.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    203199        $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@
     
    208204$(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    209205        $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@
     206
     207AUTOCHECK = $(realpath $(ROOT_PATH)/tools/autocheck.awk)
     208
     209%.check.c: %.h $(AUTOCHECK)
     210        cd $(<D) && $(AUTOCHECK) $(<F) > $(@F)
  • uspace/lib/c/arch/amd64/Makefile.inc

    r902dd4b r30e9f42  
    3636        arch/$(UARCH)/src/stacktrace_asm.S
    3737
    38 ARCH_AUTOGENS_AG = \
    39         arch/$(UARCH)/include/libarch/istate_struct.ag \
    40         arch/$(UARCH)/include/libarch/fibril_context.ag
     38ARCH_AUTOCHECK_HEADERS = \
     39        arch/$(UARCH)/include/libarch/fibril_context.h
    4140
    4241EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/arm32/Makefile.inc

    r902dd4b r30e9f42  
    3838        arch/$(UARCH)/src/stacktrace_asm.S
    3939
    40 ARCH_AUTOGENS_AG = \
    41         arch/$(UARCH)/include/libarch/istate_struct.ag \
    42         arch/$(UARCH)/include/libarch/fibril_context.ag
    43 
    4440EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
    4541
  • uspace/lib/c/arch/ia32/Makefile.inc

    r902dd4b r30e9f42  
    3838        arch/$(UARCH)/src/rtld/reloc.c
    3939
    40 ARCH_AUTOGENS_AG = \
    41         arch/$(UARCH)/include/libarch/istate_struct.ag \
    42         arch/$(UARCH)/include/libarch/fibril_context.ag
     40ARCH_AUTOCHECK_HEADERS = \
     41        arch/$(UARCH)/include/libarch/fibril_context.h
    4342
    4443EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ia64/Makefile.inc

    r902dd4b r30e9f42  
    3737        arch/$(UARCH)/src/stacktrace_asm.S
    3838
    39 ARCH_AUTOGENS_AG = \
    40         arch/$(UARCH)/include/libarch/istate_struct.ag \
    41         arch/$(UARCH)/include/libarch/fibril_context.ag
     39ARCH_AUTOCHECK_HEADERS = \
     40        arch/$(UARCH)/include/libarch/fibril_context.h
    4241
    4342EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/mips32/Makefile.inc

    r902dd4b r30e9f42  
    3636        arch/$(UARCH)/src/stacktrace_asm.S
    3737
    38 ARCH_AUTOGENS_AG = \
    39         arch/$(UARCH)/include/libarch/istate_struct.ag \
    40         arch/$(UARCH)/include/libarch/fibril_context.ag
     38ARCH_AUTOCHECK_HEADERS = \
     39        arch/$(UARCH)/include/libarch/fibril_context.h
    4140
    4241EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/mips32eb/Makefile.inc

    r902dd4b r30e9f42  
    3636        arch/$(UARCH)/src/stacktrace_asm.S
    3737
    38 ARCH_AUTOGENS_AG = \
    39         arch/$(UARCH)/include/libarch/istate_struct.ag \
    40         arch/$(UARCH)/include/libarch/fibril_context.ag
     38ARCH_AUTOCHECK_HEADERS = \
     39        arch/$(UARCH)/include/libarch/fibril_context.h
    4140
    4241EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ppc32/Makefile.inc

    r902dd4b r30e9f42  
    3636        arch/$(UARCH)/src/stacktrace_asm.S
    3737
    38 ARCH_AUTOGENS_AG = \
    39         arch/$(UARCH)/include/libarch/istate_struct.ag \
    40         arch/$(UARCH)/include/libarch/fibril_context.ag
     38ARCH_AUTOCHECK_HEADERS = \
     39        arch/$(UARCH)/include/libarch/fibril_context.h
    4140
    4241EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/riscv64/Makefile.inc

    r902dd4b r30e9f42  
    3535        arch/$(UARCH)/src/stacktrace.c
    3636
    37 ARCH_AUTOGENS_AG = \
    38         arch/$(UARCH)/include/libarch/istate_struct.ag \
    39         arch/$(UARCH)/include/libarch/fibril_context.ag
     37ARCH_AUTOCHECK_HEADERS = \
     38        arch/$(UARCH)/include/libarch/fibril_context.h
    4039
    4140EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/sparc64/Makefile.inc

    r902dd4b r30e9f42  
    3535        arch/$(UARCH)/src/stacktrace_asm.S
    3636
    37 ARCH_AUTOGENS_AG = \
    38         arch/$(UARCH)/include/libarch/istate_struct.ag \
    39         arch/$(UARCH)/include/libarch/fibril_context.ag
     37ARCH_AUTOCHECK_HEADERS = \
     38        arch/$(UARCH)/include/libarch/fibril_context.h
    4039
    4140EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
Note: See TracChangeset for help on using the changeset viewer.