315 CCCREGSYM= -Qoption cg -Qiselect-regsym=0
316
317 # Prevent the removal of static symbols by the SPARC code generator (cg).
318 # The x86 code generator (ube) does not remove such symbols and as such
319 # using this workaround is not applicable for x86.
320 #
321 CCSTATICSYM= -Wc,-Qassembler-ounrefsym=0
322 #
323 # generate 32-bit addresses in the v9 kernel. Saves memory.
324 CCABS32= -Wc,-xcode=abs32
325 #
326 # generate v9 code which tolerates callers using the v7 ABI, for the sake of
327 # system calls.
328 CC32BITCALLERS= -_gcc=-massume-32bit-callers
329
330 # GCC, especially, is increasingly beginning to auto-inline functions and
331 # sadly does so separately not under the general -fno-inline-functions
332 # Additionally, we wish to prevent optimisations which cause GCC to clone
333 # functions -- in particular, these may cause unhelpful symbols to be
334 # emitted instead of function names
335 CCNOAUTOINLINE= -_gcc=-fno-inline-small-functions \
336 -_gcc=-fno-inline-functions-called-once \
337 -_gcc=-fno-ipa-cp
338
339 # One optimization the compiler might perform is to turn this:
340 # #pragma weak foo
341 # extern int foo;
342 # if (&foo)
343 # foo = 5;
344 # into
345 # foo = 5;
346 # Since we do some of this (foo might be referenced in common kernel code
347 # but provided only for some cpu modules or platforms), we disable this
348 # optimization.
349 #
350 sparc_CCUNBOUND = -Wd,-xsafe=unboundsym
351 i386_CCUNBOUND =
352 CCUNBOUND = $($(MACH)_CCUNBOUND)
353
354 #
355 # compiler '-xarch' flag. This is here to centralize it and make it
356 # overridable for testing.
357 sparc_XARCH= -m32
|
315 CCCREGSYM= -Qoption cg -Qiselect-regsym=0
316
317 # Prevent the removal of static symbols by the SPARC code generator (cg).
318 # The x86 code generator (ube) does not remove such symbols and as such
319 # using this workaround is not applicable for x86.
320 #
321 CCSTATICSYM= -Wc,-Qassembler-ounrefsym=0
322 #
323 # generate 32-bit addresses in the v9 kernel. Saves memory.
324 CCABS32= -Wc,-xcode=abs32
325 #
326 # generate v9 code which tolerates callers using the v7 ABI, for the sake of
327 # system calls.
328 CC32BITCALLERS= -_gcc=-massume-32bit-callers
329
330 # GCC, especially, is increasingly beginning to auto-inline functions and
331 # sadly does so separately not under the general -fno-inline-functions
332 # Additionally, we wish to prevent optimisations which cause GCC to clone
333 # functions -- in particular, these may cause unhelpful symbols to be
334 # emitted instead of function names
335 CCNOAUTOINLINE= \
336 -_gcc=-fno-inline-small-functions \
337 -_gcc=-fno-inline-functions-called-once \
338 -_gcc=-fno-ipa-cp \
339 -_gcc6=-fno-ipa-icf \
340 -_gcc7=-fno-ipa-icf \
341 -_gcc8=-fno-ipa-icf \
342 -_gcc6=-fno-clone-functions \
343 -_gcc7=-fno-clone-functions \
344 -_gcc8=-fno-clone-functions
345
346 # One optimization the compiler might perform is to turn this:
347 # #pragma weak foo
348 # extern int foo;
349 # if (&foo)
350 # foo = 5;
351 # into
352 # foo = 5;
353 # Since we do some of this (foo might be referenced in common kernel code
354 # but provided only for some cpu modules or platforms), we disable this
355 # optimization.
356 #
357 sparc_CCUNBOUND = -Wd,-xsafe=unboundsym
358 i386_CCUNBOUND =
359 CCUNBOUND = $($(MACH)_CCUNBOUND)
360
361 #
362 # compiler '-xarch' flag. This is here to centralize it and make it
363 # overridable for testing.
364 sparc_XARCH= -m32
|