Changeset 9b642f92 in mainline


Ignore:
Timestamp:
2017-10-27T18:44:07Z (7 years ago)
Author:
jzr <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d088616
Parents:
0798689 (diff), f9c4bc5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge reproducibility improvements.

These improvements reduce the alteration to output files due to outside influences and randomness. This makes most of the output files reproducible, and by consequence more easily comparable.

Files:
17 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r0798689 r9b642f92  
    605605! CONFIG_STRIP_BINARIES (n/y)
    606606
     607% Strip revision information (helpful when comparing outputs)
     608! CONFIG_STRIP_REVISION_INFO (n/y)
     609
    607610% Optimization level
    608611@ "3" Level 3 (recommended).
  • boot/Makefile.build

    r0798689 r9b642f92  
    4646COMMON_CFLAGS = $(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    4747        -ffreestanding -fno-builtin -nostdlib -nostdinc \
    48         -fexec-charset=UTF-8 -finput-charset=UTF-8 -fno-common
     48        -fexec-charset=UTF-8 -finput-charset=UTF-8 -fno-common \
     49        -fdebug-prefix-map=$(realpath $(ROOT_PATH))=.
    4950
    5051GCC_CFLAGS = -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
  • kernel/Makefile

    r0798689 r9b642f92  
    8484COMMON_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    8585        -ffreestanding -fno-builtin -nostdlib -nostdinc \
    86         -fexec-charset=UTF-8 -finput-charset=UTF-8 -fno-common
     86        -fexec-charset=UTF-8 -finput-charset=UTF-8 -fno-common \
     87        -fdebug-prefix-map=$(realpath $(ROOT_PATH))=.
    8788
    8889GCC_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-unused-parameter \
  • tools/config.py

    r0798689 r9b642f92  
    445445def create_output(mkname, mcname, config, rules):
    446446        "Create output configuration"
    447 
    448         timestamp_unix = int(time.time())
     447       
     448        varname_strip = 'CONFIG_STRIP_REVISION_INFO'
     449        strip_rev_info = (varname_strip in config) and (config[varname_strip] == 'y')
     450       
     451        if strip_rev_info:
     452                timestamp_unix = int(0)
     453        else:
     454                # TODO: Use commit timestamp instead of build time.
     455                timestamp_unix = int(time.time())
     456       
    449457        timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp_unix))
    450458       
     
    458466                sys.stderr.write("failed\n")
    459467       
    460         if len(version) == 3:
     468        if (not strip_rev_info) and (len(version) == 3):
    461469                revision = version[1]
    462470                if version[0] != 1:
  • tools/mkarray.py

    r0798689 r9b642f92  
    7070        section = sys.argv[4]
    7171       
     72        timestamp = (1980, 1, 1, 0, 0, 0)
     73       
    7274        header_ctx = []
    7375        desc_ctx = []
     
    7981        archive = zipfile.ZipFile("%s.zip" % dest, "w", zipfile.ZIP_STORED)
    8082       
    81         for src in sys.argv[5:]:
     83        for src in sorted(sys.argv[5:]):
    8284                basename = os.path.basename(src)
    8385                plainname = os.path.splitext(basename)[0]
     
    9597                        src_data = deflate(src_data)
    9698                        src_fname = os.path.basename("%s.deflate" % src)
    97                         archive.writestr(src_fname, src_data)
     99                        zipinfo = zipfile.ZipInfo(src_fname, timestamp)
     100                        archive.writestr(zipinfo, src_data)
    98101                else:
    99102                        src_fname = src
     
    155158        data += "\n\n"
    156159        data += "#endif\n"
    157         archive.writestr("%s.h" % dest, data)
     160        zipinfo = zipfile.ZipInfo("%s.h" % dest, timestamp)
     161        archive.writestr(zipinfo, data)
    158162       
    159163        data = ''
     
    166170        data += "\n".join(data_ctx)
    167171        data += "\n"
    168         archive.writestr("%s.s" % dest, data)
     172        zipinfo = zipfile.ZipInfo("%s.s" % dest, timestamp)
     173        archive.writestr(zipinfo, data)
    169174       
    170175        data = ''
     
    180185        data += "\n".join(size_ctx)
    181186        data += "\n"
    182         archive.writestr("%s_desc.c" % dest, data)
     187        zipinfo = zipfile.ZipInfo("%s_desc.c" % dest, timestamp)
     188        archive.writestr(zipinfo, data)
    183189       
    184190        archive.close()
  • uspace/Makefile.common

    r0798689 r9b642f92  
    110110LIBSOFTINT_PREFIX = $(LIB_PREFIX)/softint
    111111
     112STARTUP = $(LIBC_PREFIX)/arch/$(UARCH)/src/entry.o
     113
    112114LIBMATH_PREFIX = $(LIB_PREFIX)/math
    113115LIBMATH_INCLUDES_FLAGS = \
     
    234236COMMON_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    235237        -ffreestanding -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 \
    236         -finput-charset=UTF-8 -D__$(ENDIANESS)__ -fno-common
     238        -finput-charset=UTF-8 -D__$(ENDIANESS)__ -fno-common \
     239        -fdebug-prefix-map=$(realpath $(ROOT_PATH))=.
    237240
    238241GCC_CFLAGS = -ffunction-sections -Wall -Wextra -Wno-clobbered \
     
    301304
    302305$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBS) $(BASE_LIBS)
    303         $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(BINARY).map -o $(BINARY) $(OBJECTS) $(LIBS) $(BASE_LIBS)
     306        $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(BINARY).map -o $(BINARY) $(STARTUP) $(OBJECTS) $(LIBS) $(BASE_LIBS)
    304307ifeq ($(CONFIG_STRIP_BINARIES),y)
    305308        $(STRIP) $(BINARY)
     
    337340ifneq ($(TEST_OUTPUT),)
    338341$(TEST_OUTPUT): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS)
    339         $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(TEST_OUTPUT).map -o $@ $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS) $(LIBS) $(BASE_LIBS)
     342        $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(TEST_OUTPUT).map -o $@ $(STARTUP) $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS) $(LIBS) $(BASE_LIBS)
    340343ifeq ($(CONFIG_STRIP_BINARIES),y)
    341344        $(STRIP) $(TEST_OUTPUT)
  • uspace/lib/c/arch/abs32le/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/amd64/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/arm32/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/ia32/_link.ld.in

    r0798689 r9b642f92  
    11#ifndef SHLIB
    2 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    32ENTRY(__entry)
    43#endif
  • uspace/lib/c/arch/ia64/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/mips32/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/ppc32/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/riscv64/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/c/arch/sparc64/_link.ld.in

    r0798689 r9b642f92  
    1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    21ENTRY(__entry)
    32
  • uspace/lib/pcut/Makefile

    r0798689 r9b642f92  
    3636
    3737test-libpcut-%: $(OUTPUT)
    38         $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -o $@ $^ $(OUTPUT) $(BASE_LIBS)
     38        $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -o $@ $(STARTUP) $^ $(OUTPUT) $(BASE_LIBS)
    3939
  • uspace/lib/pcut/update-from-master.sh

    r0798689 r9b642f92  
    8080
    8181test-libpcut-%: $(OUTPUT)
    82         $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -o $@ $^ $(OUTPUT) $(BASE_LIBS)
     82        $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -o $@ $(STARTUP) $^ $(OUTPUT) $(BASE_LIBS)
    8383
    8484EOF_MAKEFILE_TAIL
Note: See TracChangeset for help on using the changeset viewer.