Changes in / [71b4444:590cb6d2] in mainline
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/meson.build
r71b4444 r590cb6d2 89 89 '-T', meson.current_build_dir() / '_link.ld', 90 90 ] 91 # The kernel is built as ELF but then copied as a blob of bytes and92 # the permissions are not relevant anyway (needed for binutils 2.39+).93 kernel_link_args += ldflags_ignore_rwx_segments94 91 95 92 if CONFIG_LTO … … 104 101 kernel_c_args = arch_kernel_c_args + kernel_defs + [ 105 102 '-ffreestanding', 106 107 cc.get_supported_arguments([ 108 # TODO: remove this flag 109 '-Wno-cast-function-type', 110 111 # When accessing specific memory addresses that are below 112 # normal page size, the compiler may assume that we actually 113 # dereferenced NULL pointer and warns us about that. 114 # But in kernel we often need to access these addresses 115 # directly hence we need to ignore these warnings. 116 # 117 # TODO: might make more sense to disable this selectively 118 # in specific files (or better yet, for specific lines). 119 '--param=min-pagesize=0', 120 ]), 103 # TODO: remove this flag 104 cc.get_supported_arguments([ '-Wno-cast-function-type' ]), 121 105 ] 122 106 -
meson/arch/arm32/meson.build
r71b4444 r590cb6d2 42 42 ] 43 43 44 if CONFIG_FPU 45 # This is necessary for kernel too, to allow vmsr insn and fpexc manipulation. 46 # Use vfp32 to allow context save/restore of d16-d31 regs. 47 arch_uspace_c_args += [ '-mfloat-abi=hard' ] 48 endif 49 44 50 arch_kernel_c_args = arch_uspace_c_args + [ '-mno-unaligned-access', '-mfpu=vfpv3' ] 45 arch_kernel_c_args += cc.get_supported_arguments(['-mgeneral-regs-only' ])46 51 arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000' ] 47 48 if CONFIG_FPU49 # Need to use softfp because our libgcc.a uses it too50 # softfp - generate code with soft-float calling conventions but allow use51 # of "hard" float instructions52 arch_uspace_c_args += [ '-mfloat-abi=softfp' ]53 endif54 52 arch_uspace_link_args = [ '-nostdlib', '-lgcc', '-Wl,-z,max-page-size=0x1000' ] 55 53 -
meson/arch/arm64/meson.build
r71b4444 r590cb6d2 28 28 # 29 29 30 arch_uspace_c_args = [ 31 '-D__LE__', 32 '-fno-omit-frame-pointer', 33 cc.get_supported_arguments(['-mno-outline-atomics']), 34 ] 30 arch_uspace_c_args = [ '-D__LE__', '-fno-omit-frame-pointer' ] 35 31 arch_kernel_c_args = arch_uspace_c_args + [ '-march=armv8-a+nofp+nosimd', '-mgeneral-regs-only' ] 36 32 arch_kernel_link_args = [ '-nostdlib' ] … … 48 44 # -mstrict-align option is therefore not needed. 49 45 arch_boot_c_args = arch_uspace_c_args + [ '-fpic', '-fvisibility=hidden', '-fno-function-sections' ] 50 arch_boot_link_args = [ '-Wl,-shared', '-Wl,--no-gc-sections' ] + ldflags_ignore_rwx_segments46 arch_boot_link_args = [ '-Wl,-shared', '-Wl,--no-gc-sections' ] 51 47 52 48 if MACHINE == 'virt' -
meson/arch/ia64/meson.build
r71b4444 r590cb6d2 38 38 arch_uspace_link_args = [ '-nostdlib', '-lgcc' ] 39 39 arch_kernel_link_args = [ '-nostdlib', '-Wl,-EL' ] 40 arch_boot_link_args = ldflags_ignore_rwx_segments40 arch_boot_link_args = [] 41 41 42 42 -
meson/arch/ppc32/meson.build
r71b4444 r590cb6d2 37 37 arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000', '-Wl,--no-check-sections', '-Wl,--no-gc-sections' ] 38 38 arch_uspace_link_args = [ '-nostdlib', '-lgcc', '-Wl,-z,max-page-size=0x1000' ] 39 arch_uspace_link_args += ldflags_ignore_rwx_segments 40 arch_boot_link_args = ldflags_ignore_rwx_segments 39 arch_boot_link_args = [] 41 40 42 41 rd_essential += [ -
meson/arch/riscv64/meson.build
r71b4444 r590cb6d2 33 33 arch_kernel_link_args = [ '-nostdlib' ] 34 34 arch_uspace_link_args = [ '-nostdlib', '-lgcc' ] 35 arch_boot_link_args = ldflags_ignore_rwx_segments35 arch_boot_link_args = [] 36 36 37 37 rd_essential += [ -
meson/part/compiler_args/meson.build
r71b4444 r590cb6d2 110 110 extra_cppflags = extra_common_flags + [ 111 111 '-fno-exceptions', 112 '-Wno-misleading-indentation',113 112 '-frtti', 114 113 ] … … 129 128 add_project_link_arguments(extra_cflags, language : [ lang ]) 130 129 endforeach 131 132 # This flag is needed at several places, hence we define it here.133 #134 # For backwards compatibility we try to detect --no-warn-rwx-segments.135 # However, the autodetection done by Meson also results in136 # "cannot find entry symbol _start; defaulting to 00000000004000b0"137 # thus the option is never supported alone. So when detecting we also138 # specify --entry=main so that the stub source provided by Meson is build139 # correctly.140 ldflags_ignore_rwx_segments = []141 if cc.has_link_argument('-Wl,--no-warn-rwx-segments,--entry=main')142 ldflags_ignore_rwx_segments += ['-Wl,--no-warn-rwx-segments']143 endif -
meson/part/tools/meson.build
r71b4444 r590cb6d2 61 61 endif 62 62 63 # On some distributions (e.g. Arch Linux), genisoimage is actually a symbolic64 # link to mkisofs. However, they do not accept exactly the same options.65 # Thus we check if genisoimage is a symbolic link to mkisofs and if it is so,66 # we switch to mkisofs as that is the native application available.67 fs = import('fs')68 63 genisoimage = find_program('genisoimage', required: false) 69 _mkisofs = find_program('mkisofs', required: false) 70 if genisoimage.found() and not (fs.is_symlink(genisoimage.full_path()) and _mkisofs.found() and fs.is_samepath(genisoimage.full_path(), _mkisofs.full_path())) 64 if genisoimage.found() 71 65 genisoimage_type = 'genisoimage' 72 66 else 73 genisoimage = _mkisofs67 genisoimage = find_program('mkisofs', required: false) 74 68 if genisoimage.found() 75 69 genisoimage_type = 'mkisofs'
Note:
See TracChangeset
for help on using the changeset viewer.