319 # One optimization the compiler might perform is to turn this:
320 # #pragma weak foo
321 # extern int foo;
322 # if (&foo)
323 # foo = 5;
324 # into
325 # foo = 5;
326 # Since we do some of this (foo might be referenced in common kernel code
327 # but provided only for some cpu modules or platforms), we disable this
328 # optimization.
329 #
330 sparc_CCUNBOUND = -Wd,-xsafe=unboundsym
331 i386_CCUNBOUND =
332 CCUNBOUND = $($(MACH)_CCUNBOUND)
333
334 #
335 # compiler '-xarch' flag. This is here to centralize it and make it
336 # overridable for testing.
337 sparc_XARCH= -m32
338 sparcv9_XARCH= -m64
339 i386_XARCH=
340 amd64_XARCH= -m64 -Ui386 -U__i386
341
342 # assembler '-xarch' flag. Different from compiler '-xarch' flag.
343 sparc_AS_XARCH= -xarch=v8plus
344 sparcv9_AS_XARCH= -xarch=v9
345 i386_AS_XARCH=
346 amd64_AS_XARCH= -xarch=amd64 -P -Ui386 -U__i386
347
348 #
349 # These flags define what we need to be 'standalone' i.e. -not- part
350 # of the rather more cosy userland environment. This basically means
351 # the kernel.
352 #
353 # XX64 future versions of gcc will make -mcmodel=kernel imply -mno-red-zone
354 #
355 sparc_STAND_FLAGS= -_gcc=-ffreestanding
356 sparcv9_STAND_FLAGS= -_gcc=-ffreestanding
357 # Disabling MMX also disables 3DNow, disabling SSE also disables all later
358 # additions to SSE (SSE2, AVX ,etc.)
359 NO_SIMD= -_gcc=-mno-mmx -_gcc=-mno-sse
|
319 # One optimization the compiler might perform is to turn this:
320 # #pragma weak foo
321 # extern int foo;
322 # if (&foo)
323 # foo = 5;
324 # into
325 # foo = 5;
326 # Since we do some of this (foo might be referenced in common kernel code
327 # but provided only for some cpu modules or platforms), we disable this
328 # optimization.
329 #
330 sparc_CCUNBOUND = -Wd,-xsafe=unboundsym
331 i386_CCUNBOUND =
332 CCUNBOUND = $($(MACH)_CCUNBOUND)
333
334 #
335 # compiler '-xarch' flag. This is here to centralize it and make it
336 # overridable for testing.
337 sparc_XARCH= -m32
338 sparcv9_XARCH= -m64
339 i386_XARCH= -m32
340 amd64_XARCH= -m64 -Ui386 -U__i386
341
342 # assembler '-xarch' flag. Different from compiler '-xarch' flag.
343 sparc_AS_XARCH= -xarch=v8plus
344 sparcv9_AS_XARCH= -xarch=v9
345 i386_AS_XARCH=
346 amd64_AS_XARCH= -xarch=amd64 -P -Ui386 -U__i386
347
348 #
349 # These flags define what we need to be 'standalone' i.e. -not- part
350 # of the rather more cosy userland environment. This basically means
351 # the kernel.
352 #
353 # XX64 future versions of gcc will make -mcmodel=kernel imply -mno-red-zone
354 #
355 sparc_STAND_FLAGS= -_gcc=-ffreestanding
356 sparcv9_STAND_FLAGS= -_gcc=-ffreestanding
357 # Disabling MMX also disables 3DNow, disabling SSE also disables all later
358 # additions to SSE (SSE2, AVX ,etc.)
359 NO_SIMD= -_gcc=-mno-mmx -_gcc=-mno-sse
|