Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 279188c in mainline


Ignore:
Timestamp:
2018-11-09T08:42:26Z (3 years ago)
Author:
Vojtech Horky <vojtech.horky@…>
Branches:
lfn, master
Children:
86aad6f
Parents:
cdf6066
Message:

Add missing libs when CONFIG_DEVEL_FILES is set

We need to add the start files (crt*.o) and also libgcc as it provides
us with softint and softfloat functions.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • boot/Makefile

    rcdf6066 r279188c  
    6565        cp -r -L "$(ROOT_PATH)/abi/include/." "$(DIST_PATH)/inc/c/"
    6666        cp -r -L "$(USPACE_PATH)/lib/c/arch/$(UARCH)/include/." "$(DIST_PATH)/inc/c/"
     67        cp -L "$(USPACE_PATH)/lib/c/crt0.o" "$(DIST_PATH)/lib/"
     68        cp -L "$(USPACE_PATH)/lib/c/crt1.o" "$(DIST_PATH)/lib/"
     69        cp -L "$(LIBGCC_PATH)" "$(DIST_PATH)/lib/"
    6770endif
    6871
  • tools/autotool.py

    rcdf6066 r279188c  
    320320        check_app([common['GCC'], "--version"], "GNU GCC", details)
    321321
     322def check_libgcc(common):
     323        sys.stderr.write("Checking for libgcc.a ... ")
     324        libgcc_path = None
     325        proc = subprocess.Popen([ common['GCC'], "-print-search-dirs" ], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
     326        for line in proc.stdout:
     327                line = line.decode('utf-8').strip('\n')
     328                parts = line.split()
     329                if parts[0] == "install:":
     330                        p = parts[1] + "libgcc.a"
     331                        if os.path.isfile(p):
     332                                libgcc_path = p
     333        proc.wait()
     334
     335        if libgcc_path is None:
     336                sys.stderr.write("failed\n")
     337                print_error(["Unable to find gcc library (libgcc.a).",
     338                                        "",
     339                                        "Please ensure that you have installed the",
     340                                        "toolchain properly."])
     341
     342        sys.stderr.write("ok\n")
     343        common['LIBGCC_PATH'] = libgcc_path
     344
     345
    322346def check_binutils(path, prefix, common, details):
    323347        "Check for binutils toolchain"
     
    576600                cc_autogen = None
    577601
     602                # We always need to check for GCC as we
     603                # need libgcc
     604                check_gcc(path, prefix, common, PACKAGE_CROSS)
     605
    578606                # Compiler
    579607                if (config['COMPILER'] == "gcc_cross"):
    580                         check_gcc(path, prefix, common, PACKAGE_CROSS)
    581608                        check_binutils(path, prefix, common, PACKAGE_CROSS)
    582609
     
    601628                        if (config['INTEGRATED_AS'] == "no"):
    602629                                common['CC'] += " -no-integrated-as"
     630
     631                # Find full path to libgcc
     632                check_libgcc(common)
    603633
    604634                # Platform-specific utilities
Note: See TracChangeset for help on using the changeset viewer.