Changes in / [b183ce0a:119b46e] in mainline
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/Makefile
rb183ce0a r119b46e 100 100 -Werror-implicit-function-declaration -wd170 101 101 102 # clang does not support following options but I am not sure whether103 # something won't break because of that:104 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8105 102 CLANG_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 \ 107 105 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 108 106 -Werror-implicit-function-declaration -Wwrite-strings \ 109 -integrated-as \ 110 -pipe -target $(CLANG_TARGET) 107 -pipe -arch $(CLANG_ARCH) 111 108 112 109 ifeq ($(CONFIG_DEBUG),y) … … 390 387 391 388 $(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 "^\#" > $@ 393 390 394 391 %.o: %.S $(DEPEND) -
kernel/arch/amd64/Makefile.inc
rb183ce0a r119b46e 31 31 BFD = binary 32 32 CLANG_ARCH = x86_64 33 CLANG_TARGET = x86_64-unknown-linux34 33 35 34 FPU_NO_CFLAGS = -mno-sse -mno-sse2 … … 37 36 GCC_CFLAGS += $(CMN1) 38 37 ICC_CFLAGS += $(CMN1) 39 CLANG_CFLAGS += $(CMN1)40 38 41 39 BITS = 64 -
kernel/arch/ia32/Makefile.inc
rb183ce0a r119b46e 31 31 BFD = binary 32 32 CLANG_ARCH = i386 33 CLANG_TARGET = i386-unknown-linux34 33 35 34 BITS = 32 -
kernel/generic/include/debug.h
rb183ce0a r119b46e 77 77 } while (0) 78 78 79 /** Static assert macro80 *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 89 79 #else /* CONFIG_DEBUG */ 90 80 91 81 #define ASSERT(expr) 92 82 #define ASSERT_VERBOSE(expr, msg) 93 #define STATIC_ASSERT(expr)94 #define STATIC_ASSERT_VERBOSE(expr, msg)95 83 96 84 #endif /* CONFIG_DEBUG */ -
kernel/generic/include/printf/verify.h
rb183ce0a r119b46e 38 38 #ifndef NVERIFY_PRINTF 39 39 40 #ifdef __clang__41 #define PRINTF_ATTRIBUTE(start, end) \42 __attribute__((format(__printf__, start, end)))43 #else44 40 #define PRINTF_ATTRIBUTE(start, end) \ 45 41 __attribute__((format(gnu_printf, start, end))) 46 #endif47 48 42 49 43 #else /* NVERIFY_PRINTF */ -
kernel/generic/src/main/main.c
rb183ce0a r119b46e 89 89 #include <lib/ra.h> 90 90 91 /* Ensure [u]int*_t types are of correct size.92 *93 * Probably, this is not the best place for such tests94 * 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 110 91 /** Global configuration structure. */ 111 92 config_t config = { -
tools/autotool.py
rb183ce0a r119b46e 182 182 "Please contact the developers of HelenOS."]) 183 183 184 def get_target(config, needs_clang = False):185 target = None186 gnu_target = None187 clang_target = None188 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 256 184 def check_app(args, name, details): 257 185 "Check whether an application can be executed" … … 714 642 common['CC_ARGS'] = [] 715 643 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 717 702 path = "%s/%s/bin" % (cross_prefix, target) 718 703 prefix = "%s-" % gnu_target … … 723 708 check_common(common, "GCC") 724 709 common['CC'] = common['GCC'] 725 common['CC_ARGS'].extend(cc_args)726 710 727 711 if (config['COMPILER'] == "gcc_native"): … … 739 723 740 724 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_target744 745 725 common['CC'] = "clang" 746 common['CC_ARGS'].extend(cc_args)747 common['CC_ARGS'].append("-target")748 common['CC_ARGS'].append(clang_target)749 726 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) 752 729 753 730 # Platform-specific utilities -
uspace/Makefile.common
rb183ce0a r119b46e 198 198 -pipe -g -D__$(ENDIANESS)__ 199 199 200 # clang does not support following options but I am not sure whether201 # something won't break because of that:202 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8203 200 CLANG_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 \ 205 203 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 206 204 -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)__ 209 206 210 207 LIB_CFLAGS = $(CFLAGS) -fPIC -D__IN_SHARED_LIBC__ … … 254 251 ifeq ($(COMPILER),clang) 255 252 CFLAGS += $(CLANG_CFLAGS) $(EXTRA_CFLAGS) 256 GCC_CFLAGS += $(EXTRA_CFLAGS)257 253 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 258 254 endif … … 307 303 308 304 %.o: %.S $(DEPEND) 309 $( GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@305 $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@ 310 306 ifeq ($(PRECHECK),y) 311 307 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__ -
uspace/lib/c/Makefile
rb183ce0a r119b46e 161 161 162 162 $(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 "^\#" > $@ 164 164 165 165 $(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 "^\#" > $@ 167 167 168 168 $(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 "^\#" > $@ 170 170 171 171 $(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 "^\#" > $@ 173 173 174 174 $(COMMON_HEADER_ARCH): $(COMMON_HEADER) -
uspace/lib/c/arch/amd64/Makefile.common
rb183ce0a r119b46e 28 28 29 29 CLANG_ARCH = x86_64 30 CLANG_TARGET = x86_64-unknown-linux31 30 GCC_CFLAGS += -fno-omit-frame-pointer 32 CLANG_CFLAGS += -fno-omit-frame-pointer33 31 34 32 ENDIANESS = LE -
uspace/lib/c/arch/ia32/Makefile.common
rb183ce0a r119b46e 28 28 29 29 CLANG_ARCH = i386 30 CLANG_TARGET = i386-unknown-linux31 30 32 31 ifeq ($(PROCESSOR),i486) … … 35 34 GCC_CFLAGS += -march=pentium -fno-omit-frame-pointer 36 35 endif 37 CLANG_CFLAGS += -fno-omit-frame-pointer38 36 39 37 ENDIANESS = LE -
uspace/lib/c/include/io/verify.h
rb183ce0a r119b46e 38 38 #ifndef NVERIFY_PRINTF 39 39 40 #ifdef __clang__41 #define PRINTF_ATTRIBUTE(start, end) \42 __attribute__((format(__printf__, start, end)))43 #else44 40 #define PRINTF_ATTRIBUTE(start, end) \ 45 41 __attribute__((format(gnu_printf, start, end))) 46 #endif47 42 48 43 #else /* NVERIFY_PRINTF */
Note:
See TracChangeset
for help on using the changeset viewer.