- Timestamp:
- 2019-08-17T12:49:43Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 41408d94
- Parents:
- 2c38a55b
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-06-26 14:31:18)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-08-17 12:49:43)
- Location:
- kernel
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/meson.build
r2c38a55b r63660a3 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 30 # TODO: Red Zone is only a problem if we allow interrupts to land on an active31 # stack. Using separate stack for interrupts and ensuring that we never32 # enable interrupts on an interrupt stack would allow us to get rid of33 # the argument.34 35 kernel_c_args += [ '-mno-sse', '-mno-sse2', '-mcmodel=' + MEMORY_MODEL, '-mno-red-zone', '-fno-unwind-tables', '-fno-omit-frame-pointer' ]36 37 # TODO: fix this38 kernel_link_args += [ '-Wl,--no-gc-sections' ]39 40 if PROCESSOR == 'opteron'41 kernel_c_args += '-march=opteron'42 endif43 29 44 30 arch_src += files( -
kernel/arch/arm32/meson.build
r2c38a55b r63660a3 26 26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 # 28 29 30 atsign = '%'31 32 kernel_c_args += [ '-fno-omit-frame-pointer', '-mapcs-frame', '-mno-unaligned-access', '-mfpu=vfpv3' ]33 34 if CONFIG_FPU35 # This is necessary to allow vmsr insn and fpexc manipulation36 # Use vfp32 to allow context save/restore of d16-d31 regs.37 kernel_c_args += [ '-mfloat-abi=hard' ]38 endif39 28 40 29 arch_src += files( -
kernel/arch/arm64/meson.build
r2c38a55b r63660a3 26 26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 # 28 29 kernel_c_args += [ '-fno-omit-frame-pointer', '-march=armv8-a+nofp+nosimd', '-mgeneral-regs-only' ]30 28 31 29 arch_src += files( -
kernel/arch/ia32/meson.build
r2c38a55b r63660a3 26 26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 # 28 29 kernel_c_args += [ '-mno-mmx', '-mno-sse', '-mno-sse2', '-mno-sse3', '-mno-3dnow' ]30 31 # TODO: fix this32 kernel_link_args += [ '-Wl,--no-gc-sections' ]33 28 34 29 arch_src += files( -
kernel/arch/ia64/meson.build
r2c38a55b r63660a3 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 30 kernel_c_args += [ '-mconstant-gp', '-fno-unwind-tables', '-mfixed-range=f32-f127' ]31 kernel_link_args += [ '-Wl,-EL' ]32 29 33 30 arch_src += files( … … 60 57 endif 61 58 62 if MACHINE == 'i460GX'63 kernel_c_args += [ '-DI460GX' ]64 endif65 59 66 60 _check_headers = [ -
kernel/arch/mips32/meson.build
r2c38a55b r63660a3 26 26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 # 28 29 kernel_c_args += [30 '-msoft-float',31 '-mno-abicalls',32 '-G', '0',33 '-fno-zero-initialized-in-bss',34 '-mabi=32',35 ]36 37 as_prolog = '.module softfloat;'38 28 39 29 arch_src += files( … … 71 61 endif 72 62 63 73 64 _check_headers = [ 74 65 'include/arch/istate_struct.h', -
kernel/arch/ppc32/meson.build
r2c38a55b r63660a3 27 27 # 28 28 29 # FIXME: enable gc-sections30 kernel_c_args += [ '-msoft-float', '-fno-function-sections' ]31 kernel_link_args += [ '-Wl,--no-check-sections', '-Wl,--no-gc-sections' ]32 33 29 arch_src += files( 34 30 'src/context.S', … … 54 50 ) 55 51 52 56 53 _check_headers = [ 57 54 'include/arch/istate_struct.h', -
kernel/arch/riscv64/meson.build
r2c38a55b r63660a3 27 27 # 28 28 29 kernel_c_args += [ '-mcmodel=medany' ]30 31 29 arch_src += files( 32 30 'src/boot/boot.S', … … 49 47 ) 50 48 49 51 50 _check_headers = [ 52 51 'include/arch/istate_struct.h', -
kernel/genarch/meson.build
r2c38a55b r63660a3 164 164 165 165 genarch_src = [] 166 genarch_check_headers = []167 166 168 167 foreach f : _src -
kernel/meson.build
r2c38a55b r63660a3 1 1 2 ## The at-sign3 #4 # The `atsign` variable holds the ASCII character representing the at-sign5 # ('@') used in various $(AS) constructs (e.g. @progbits). On architectures that6 # don't use '@' for starting a comment, `atsign` is merely '@'. However, on7 # those that do use it for starting a comment (e.g. arm32), `atsign` must be8 # defined as the percentile-sign ('%') in the architecture-dependent files.9 #10 atsign = '@'11 12 ## Some architectures need a particular string at the beginning of assembly files.13 as_prolog = ''14 15 kernel_c_args = []16 kernel_link_args = []17 kernel_includes = []18 2 arch_src = [] 19 3 4 # Fills arch_src. 20 5 subdir('arch' / h_arch) 6 7 # Defines genarch_src. 21 8 subdir('genarch') 9 10 # Defines generic_src, instrumentable_src. 22 11 subdir('generic') 12 13 # Defines test_src 23 14 subdir('test') 24 15 … … 27 18 symtab_section = '.section symtab.data, "a", ' + atsign + 'progbits;' 28 19 29 kernel_include s += include_directories(20 kernel_include_dirs = include_directories( 30 21 'generic/include', 31 22 'genarch/include', … … 46 37 ] 47 38 39 # Preprocess linker script using C preprocessor. 48 40 kernel_ldscript = custom_target('_link.ld', 49 41 input: 'arch' / h_arch / '_link.ld.in', … … 63 55 ) 64 56 65 kernel_link_args +=[57 kernel_link_args = arch_kernel_link_args + [ 66 58 '-Wl,--nmagic', 67 59 '-T', meson.current_build_dir() / '_link.ld', … … 73 65 endif 74 66 75 kernel_c_args +=kernel_defs + [67 kernel_c_args = arch_kernel_c_args + kernel_defs + [ 76 68 '-ffreestanding', 77 69 # TODO: remove this flag … … 88 80 89 81 instrumentables = static_library('instrumentables', instrumentable_src, 90 include_directories: kernel_include s,82 include_directories: kernel_include_dirs, 91 83 implicit_include_directories: false, 92 84 c_args: kernel_c_args + (CONFIG_TRACE ? [ '-finstrument-functions' ] : []), … … 95 87 96 88 noninstrumentables = static_library('noninstrumentables', arch_src, genarch_src, generic_src, test_src, 97 include_directories: kernel_include s,89 include_directories: kernel_include_dirs, 98 90 implicit_include_directories: false, 99 91 c_args: kernel_c_args, … … 129 121 output: 'empty_map.S', 130 122 capture: true, 131 command: [ 'echo', as_prolog + symtab_section ],123 command: [ 'echo', kernel_as_prolog + symtab_section ], 132 124 ) 133 125 … … 139 131 140 132 kernel_elf = executable(kernel_name + '.elf', kernel_map_S, 141 include_directories: kernel_include s,133 include_directories: kernel_include_dirs, 142 134 implicit_include_directories: false, 143 135 c_args: kernel_c_args, … … 170 162 output: kernel_map_S_name, 171 163 capture: true, 172 command: [ 'echo', as_prolog + symtab_section + ' .incbin "@INPUT@"' ],164 command: [ 'echo', kernel_as_prolog + symtab_section + ' .incbin "@INPUT@"' ], 173 165 ) 174 166 endif
Note:
See TracChangeset
for help on using the changeset viewer.