Changes in / [590cb6d2:71b4444] in mainline
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/meson.build
r590cb6d2 r71b4444 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 and 92 # the permissions are not relevant anyway (needed for binutils 2.39+). 93 kernel_link_args += ldflags_ignore_rwx_segments 91 94 92 95 if CONFIG_LTO … … 101 104 kernel_c_args = arch_kernel_c_args + kernel_defs + [ 102 105 '-ffreestanding', 103 # TODO: remove this flag 104 cc.get_supported_arguments([ '-Wno-cast-function-type' ]), 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 ]), 105 121 ] 106 122 -
meson/arch/arm32/meson.build
r590cb6d2 r71b4444 42 42 ] 43 43 44 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 arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000' ] 47 44 48 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' ] 49 # Need to use softfp because our libgcc.a uses it too 50 # softfp - generate code with soft-float calling conventions but allow use 51 # of "hard" float instructions 52 arch_uspace_c_args += [ '-mfloat-abi=softfp' ] 48 53 endif 49 50 arch_kernel_c_args = arch_uspace_c_args + [ '-mno-unaligned-access', '-mfpu=vfpv3' ]51 arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000' ]52 54 arch_uspace_link_args = [ '-nostdlib', '-lgcc', '-Wl,-z,max-page-size=0x1000' ] 53 55 -
meson/arch/arm64/meson.build
r590cb6d2 r71b4444 28 28 # 29 29 30 arch_uspace_c_args = [ '-D__LE__', '-fno-omit-frame-pointer' ] 30 arch_uspace_c_args = [ 31 '-D__LE__', 32 '-fno-omit-frame-pointer', 33 cc.get_supported_arguments(['-mno-outline-atomics']), 34 ] 31 35 arch_kernel_c_args = arch_uspace_c_args + [ '-march=armv8-a+nofp+nosimd', '-mgeneral-regs-only' ] 32 36 arch_kernel_link_args = [ '-nostdlib' ] … … 44 48 # -mstrict-align option is therefore not needed. 45 49 arch_boot_c_args = arch_uspace_c_args + [ '-fpic', '-fvisibility=hidden', '-fno-function-sections' ] 46 arch_boot_link_args = [ '-Wl,-shared', '-Wl,--no-gc-sections' ] 50 arch_boot_link_args = [ '-Wl,-shared', '-Wl,--no-gc-sections' ] + ldflags_ignore_rwx_segments 47 51 48 52 if MACHINE == 'virt' -
meson/arch/ia64/meson.build
r590cb6d2 r71b4444 38 38 arch_uspace_link_args = [ '-nostdlib', '-lgcc' ] 39 39 arch_kernel_link_args = [ '-nostdlib', '-Wl,-EL' ] 40 arch_boot_link_args = []40 arch_boot_link_args = ldflags_ignore_rwx_segments 41 41 42 42 -
meson/arch/ppc32/meson.build
r590cb6d2 r71b4444 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_boot_link_args = [] 39 arch_uspace_link_args += ldflags_ignore_rwx_segments 40 arch_boot_link_args = ldflags_ignore_rwx_segments 40 41 41 42 rd_essential += [ -
meson/arch/riscv64/meson.build
r590cb6d2 r71b4444 33 33 arch_kernel_link_args = [ '-nostdlib' ] 34 34 arch_uspace_link_args = [ '-nostdlib', '-lgcc' ] 35 arch_boot_link_args = []35 arch_boot_link_args = ldflags_ignore_rwx_segments 36 36 37 37 rd_essential += [ -
meson/part/compiler_args/meson.build
r590cb6d2 r71b4444 110 110 extra_cppflags = extra_common_flags + [ 111 111 '-fno-exceptions', 112 '-Wno-misleading-indentation', 112 113 '-frtti', 113 114 ] … … 128 129 add_project_link_arguments(extra_cflags, language : [ lang ]) 129 130 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 in 136 # "cannot find entry symbol _start; defaulting to 00000000004000b0" 137 # thus the option is never supported alone. So when detecting we also 138 # specify --entry=main so that the stub source provided by Meson is build 139 # 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
r590cb6d2 r71b4444 61 61 endif 62 62 63 # On some distributions (e.g. Arch Linux), genisoimage is actually a symbolic 64 # 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') 63 68 genisoimage = find_program('genisoimage', required: false) 64 if genisoimage.found() 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())) 65 71 genisoimage_type = 'genisoimage' 66 72 else 67 genisoimage = find_program('mkisofs', required: false)73 genisoimage = _mkisofs 68 74 if genisoimage.found() 69 75 genisoimage_type = 'mkisofs'
Note:
See TracChangeset
for help on using the changeset viewer.