Changes in / [b183ce0a:119b46e] in mainline


Ignore:
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    rb183ce0a r119b46e  
    100100        -Werror-implicit-function-declaration -wd170
    101101
    102 # clang does not support following options but I am not sure whether
    103 # something won't break because of that:
    104 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8
    105102CLANG_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    106         -ffreestanding -fno-builtin -nostdlib -nostdinc \
     103        -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
     104        -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
    107105        -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
    108106        -Werror-implicit-function-declaration -Wwrite-strings \
    109         -integrated-as \
    110         -pipe -target $(CLANG_TARGET)
     107        -pipe -arch $(CLANG_ARCH)
    111108
    112109ifeq ($(CONFIG_DEBUG),y)
     
    390387
    391388$(LINK): $(LINK).in $(DEPEND)
    392         $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
     389        $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
    393390
    394391%.o: %.S $(DEPEND)
  • kernel/arch/amd64/Makefile.inc

    rb183ce0a r119b46e  
    3131BFD = binary
    3232CLANG_ARCH = x86_64
    33 CLANG_TARGET = x86_64-unknown-linux
    3433
    3534FPU_NO_CFLAGS = -mno-sse -mno-sse2
     
    3736GCC_CFLAGS += $(CMN1)
    3837ICC_CFLAGS += $(CMN1)
    39 CLANG_CFLAGS += $(CMN1)
    4038
    4139BITS = 64
  • kernel/arch/ia32/Makefile.inc

    rb183ce0a r119b46e  
    3131BFD = binary
    3232CLANG_ARCH = i386
    33 CLANG_TARGET = i386-unknown-linux
    3433
    3534BITS = 32
  • kernel/generic/include/debug.h

    rb183ce0a r119b46e  
    7777        } while (0)
    7878
    79 /** Static assert macro
    80  *
    81  */
    82 #define STATIC_ASSERT(expr) \
    83         _Static_assert(expr, "")
    84 
    85 #define STATIC_ASSERT_VERBOSE(expr, msg) \
    86         _Static_assert(expr, msg)
    87 
    88 
    8979#else /* CONFIG_DEBUG */
    9080
    9181#define ASSERT(expr)
    9282#define ASSERT_VERBOSE(expr, msg)
    93 #define STATIC_ASSERT(expr)
    94 #define STATIC_ASSERT_VERBOSE(expr, msg)
    9583
    9684#endif /* CONFIG_DEBUG */
  • kernel/generic/include/printf/verify.h

    rb183ce0a r119b46e  
    3838#ifndef NVERIFY_PRINTF
    3939
    40 #ifdef __clang__
    41 #define PRINTF_ATTRIBUTE(start, end) \
    42         __attribute__((format(__printf__, start, end)))
    43 #else
    4440#define PRINTF_ATTRIBUTE(start, end) \
    4541        __attribute__((format(gnu_printf, start, end)))
    46 #endif
    47 
    4842
    4943#else /* NVERIFY_PRINTF */
  • kernel/generic/src/main/main.c

    rb183ce0a r119b46e  
    8989#include <lib/ra.h>
    9090
    91 /* Ensure [u]int*_t types are of correct size.
    92  *
    93  * Probably, this is not the best place for such tests
    94  * but this file is compiled on all architectures.
    95  */
    96 #define CHECK_INT_TYPE_(signness, size) \
    97         STATIC_ASSERT_VERBOSE(sizeof(signness##size##_t) * 8 == size, \
    98             #signness #size "_t does not have " #size " bits");
    99 #define CHECK_INT_TYPE(size) \
    100         CHECK_INT_TYPE_(int, size); CHECK_INT_TYPE_(uint, size)
    101 
    102 CHECK_INT_TYPE(8);
    103 CHECK_INT_TYPE(16);
    104 CHECK_INT_TYPE(32);
    105 CHECK_INT_TYPE(64);
    106 
    107 
    108 
    109 
    11091/** Global configuration structure. */
    11192config_t config = {
  • tools/autotool.py

    rb183ce0a r119b46e  
    182182                             "Please contact the developers of HelenOS."])
    183183
    184 def get_target(config, needs_clang = False):
    185         target = None
    186         gnu_target = None
    187         clang_target = None
    188         cc_args = []
    189        
    190         if (config['PLATFORM'] == "abs32le"):
    191                 check_config(config, "CROSS_TARGET")
    192                 target = config['CROSS_TARGET']
    193                
    194                 if (config['CROSS_TARGET'] == "arm32"):
    195                         gnu_target = "arm-linux-gnueabi"
    196                
    197                 if (config['CROSS_TARGET'] == "ia32"):
    198                         gnu_target = "i686-pc-linux-gnu"
    199                
    200                 if (config['CROSS_TARGET'] == "mips32"):
    201                         gnu_target = "mipsel-linux-gnu"
    202                         common['CC_ARGS'].append("-mabi=32")
    203        
    204         if (config['PLATFORM'] == "amd64"):
    205                 target = config['PLATFORM']
    206                 gnu_target = "amd64-linux-gnu"
    207                 clang_target = "x86_64-uknown-linux"
    208        
    209         if (config['PLATFORM'] == "arm32"):
    210                 target = config['PLATFORM']
    211                 gnu_target = "arm-linux-gnueabi"
    212        
    213         if (config['PLATFORM'] == "ia32"):
    214                 target = config['PLATFORM']
    215                 gnu_target = "i686-pc-linux-gnu"
    216                 clang_target = "i386-uknown-linux"
    217        
    218         if (config['PLATFORM'] == "ia64"):
    219                 target = config['PLATFORM']
    220                 gnu_target = "ia64-pc-linux-gnu"
    221        
    222         if (config['PLATFORM'] == "mips32"):
    223                 check_config(config, "MACHINE")
    224                 cc_args.append("-mabi=32")
    225                
    226                 if ((config['MACHINE'] == "msim") or (config['MACHINE'] == "lmalta")):
    227                         target = config['PLATFORM']
    228                         gnu_target = "mipsel-linux-gnu"
    229                
    230                 if ((config['MACHINE'] == "bmalta")):
    231                         target = "mips32eb"
    232                         gnu_target = "mips-linux-gnu"
    233        
    234         if (config['PLATFORM'] == "mips64"):
    235                 check_config(config, "MACHINE")
    236                 cc_args.append("-mabi=64")
    237                
    238                 if (config['MACHINE'] == "msim"):
    239                         target = config['PLATFORM']
    240                         gnu_target = "mips64el-linux-gnu"
    241        
    242         if (config['PLATFORM'] == "ppc32"):
    243                 target = config['PLATFORM']
    244                 gnu_target = "ppc-linux-gnu"
    245        
    246         if (config['PLATFORM'] == "sparc64"):
    247                 target = config['PLATFORM']
    248                 gnu_target = "sparc64-linux-gnu"
    249        
    250         if (target is None) or (gnu_target is None) or (clang_target is None and needs_clang):
    251                 print_error(["Failed to determine target for compiler.",
    252                              "Please contact the developers of HelenOS."])
    253        
    254         return (target, cc_args, gnu_target, clang_target)
    255 
    256184def check_app(args, name, details):
    257185        "Check whether an application can be executed"
     
    714642                common['CC_ARGS'] = []
    715643                if (config['COMPILER'] == "gcc_cross"):
    716                         target, cc_args, gnu_target, clang_target_unused = get_target(config)
     644                        if (config['PLATFORM'] == "abs32le"):
     645                                check_config(config, "CROSS_TARGET")
     646                                target = config['CROSS_TARGET']
     647                               
     648                                if (config['CROSS_TARGET'] == "arm32"):
     649                                        gnu_target = "arm-linux-gnueabi"
     650                               
     651                                if (config['CROSS_TARGET'] == "ia32"):
     652                                        gnu_target = "i686-pc-linux-gnu"
     653                               
     654                                if (config['CROSS_TARGET'] == "mips32"):
     655                                        gnu_target = "mipsel-linux-gnu"
     656                                        common['CC_ARGS'].append("-mabi=32")
     657                       
     658                        if (config['PLATFORM'] == "amd64"):
     659                                target = config['PLATFORM']
     660                                gnu_target = "amd64-linux-gnu"
     661                       
     662                        if (config['PLATFORM'] == "arm32"):
     663                                target = config['PLATFORM']
     664                                gnu_target = "arm-linux-gnueabi"
     665                       
     666                        if (config['PLATFORM'] == "ia32"):
     667                                target = config['PLATFORM']
     668                                gnu_target = "i686-pc-linux-gnu"
     669                       
     670                        if (config['PLATFORM'] == "ia64"):
     671                                target = config['PLATFORM']
     672                                gnu_target = "ia64-pc-linux-gnu"
     673                       
     674                        if (config['PLATFORM'] == "mips32"):
     675                                check_config(config, "MACHINE")
     676                                common['CC_ARGS'].append("-mabi=32")
     677                               
     678                                if ((config['MACHINE'] == "msim") or (config['MACHINE'] == "lmalta")):
     679                                        target = config['PLATFORM']
     680                                        gnu_target = "mipsel-linux-gnu"
     681                               
     682                                if ((config['MACHINE'] == "bmalta")):
     683                                        target = "mips32eb"
     684                                        gnu_target = "mips-linux-gnu"
     685                       
     686                        if (config['PLATFORM'] == "mips64"):
     687                                check_config(config, "MACHINE")
     688                                common['CC_ARGS'].append("-mabi=64")
     689                               
     690                                if (config['MACHINE'] == "msim"):
     691                                        target = config['PLATFORM']
     692                                        gnu_target = "mips64el-linux-gnu"
     693                       
     694                        if (config['PLATFORM'] == "ppc32"):
     695                                target = config['PLATFORM']
     696                                gnu_target = "ppc-linux-gnu"
     697                       
     698                        if (config['PLATFORM'] == "sparc64"):
     699                                target = config['PLATFORM']
     700                                gnu_target = "sparc64-linux-gnu"
     701                       
    717702                        path = "%s/%s/bin" % (cross_prefix, target)
    718703                        prefix = "%s-" % gnu_target
     
    723708                        check_common(common, "GCC")
    724709                        common['CC'] = common['GCC']
    725                         common['CC_ARGS'].extend(cc_args)
    726710               
    727711                if (config['COMPILER'] == "gcc_native"):
     
    739723               
    740724                if (config['COMPILER'] == "clang"):
    741                         target, cc_args, gnu_target, clang_target = get_target(config, True)
    742                         path = "%s/%s/bin" % (cross_prefix, target)
    743                         prefix = "%s-" % gnu_target
    744                        
    745725                        common['CC'] = "clang"
    746                         common['CC_ARGS'].extend(cc_args)
    747                         common['CC_ARGS'].append("-target")
    748                         common['CC_ARGS'].append(clang_target)
    749726                        check_app([common['CC'], "--version"], "Clang compiler", "preferably version 1.0 or newer")
    750                         check_gcc(path, prefix, common, PACKAGE_GCC)
    751                         check_binutils(path, prefix, common, PACKAGE_BINUTILS)
     727                        check_gcc(None, "", common, PACKAGE_GCC)
     728                        check_binutils(None, binutils_prefix, common, PACKAGE_BINUTILS)
    752729               
    753730                # Platform-specific utilities
  • uspace/Makefile.common

    rb183ce0a r119b46e  
    198198        -pipe -g -D__$(ENDIANESS)__
    199199
    200 # clang does not support following options but I am not sure whether
    201 # something won't break because of that:
    202 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8
    203200CLANG_CFLAGS = $(LIBC_INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    204         -ffreestanding -fno-builtin -nostdlib -nostdinc \
     201        -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
     202        -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
    205203        -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
    206204        -Werror-implicit-function-declaration -Wwrite-strings \
    207         -integrated-as \
    208         -pipe -g -target $(CLANG_TARGET) -D__$(ENDIANESS)__
     205        -pipe -g -arch $(CLANG_ARCH) -D__$(ENDIANESS)__
    209206
    210207LIB_CFLAGS = $(CFLAGS) -fPIC -D__IN_SHARED_LIBC__
     
    254251ifeq ($(COMPILER),clang)
    255252        CFLAGS += $(CLANG_CFLAGS) $(EXTRA_CFLAGS)
    256         GCC_CFLAGS += $(EXTRA_CFLAGS)
    257253        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
    258254endif
     
    307303
    308304%.o: %.S $(DEPEND)
    309         $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@
     305        $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
    310306ifeq ($(PRECHECK),y)
    311307        $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
  • uspace/lib/c/Makefile

    rb183ce0a r119b46e  
    161161
    162162$(LIBC_PREFIX)/arch/$(UARCH)/_link.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    163         $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@
     163        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@
    164164
    165165$(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    166         $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DLOADER -E -x c $< | grep -v "^\#" > $@
     166        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DLOADER -E -x c $< | grep -v "^\#" > $@
    167167
    168168$(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    169         $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DSHLIB -E -x c $< | grep -v "^\#" > $@
     169        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DSHLIB -E -x c $< | grep -v "^\#" > $@
    170170
    171171$(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    172         $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@
     172        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@
    173173
    174174$(COMMON_HEADER_ARCH): $(COMMON_HEADER)
  • uspace/lib/c/arch/amd64/Makefile.common

    rb183ce0a r119b46e  
    2828
    2929CLANG_ARCH = x86_64
    30 CLANG_TARGET = x86_64-unknown-linux
    3130GCC_CFLAGS += -fno-omit-frame-pointer
    32 CLANG_CFLAGS += -fno-omit-frame-pointer
    3331
    3432ENDIANESS = LE
  • uspace/lib/c/arch/ia32/Makefile.common

    rb183ce0a r119b46e  
    2828
    2929CLANG_ARCH = i386
    30 CLANG_TARGET = i386-unknown-linux
    3130
    3231ifeq ($(PROCESSOR),i486)
     
    3534        GCC_CFLAGS += -march=pentium -fno-omit-frame-pointer
    3635endif
    37 CLANG_CFLAGS += -fno-omit-frame-pointer
    3836
    3937ENDIANESS = LE
  • uspace/lib/c/include/io/verify.h

    rb183ce0a r119b46e  
    3838#ifndef NVERIFY_PRINTF
    3939
    40 #ifdef __clang__
    41 #define PRINTF_ATTRIBUTE(start, end) \
    42         __attribute__((format(__printf__, start, end)))
    43 #else
    4440#define PRINTF_ATTRIBUTE(start, end) \
    4541        __attribute__((format(gnu_printf, start, end)))
    46 #endif
    4742
    4843#else /* NVERIFY_PRINTF */
Note: See TracChangeset for help on using the changeset viewer.