Changeset d6b81941 in mainline for kernel/arch/amd64/Makefile.inc


Ignore:
Timestamp:
2011-03-29T21:59:55Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
563b538, ad7a6c9
Parents:
ebebd38 (diff), 3abfe9a8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge toolchain upgrade and related changes. Highlights:

  • GCC 4.6, binutils 2.21
  • change the default CROSS_PREFIX to /usr/local/cross to avoid ugly pollution in the /usr/local directory (closes #252)
  • amd64: use a silly workaround to avoid possible GCC 4.6 bug (going to report to GCC's bugzilla)
  • toolchain.sh now supports parallel toolchain build (i.e. all targets at once)
  • improve linker scripts to support the newest compiler input sections
  • remove unused variables and other various fixes for GCC 4.6 warnings (GCC 4.5.1 also passes compilation)
  • unification of kernel memcpy() and memstr() functions (use compiler builtins whenever possible, keep plain C fallback implementations in a sepearate object file)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/Makefile.inc

    rebebd38 rd6b81941  
    3333
    3434FPU_NO_CFLAGS = -mno-sse -mno-sse2
    35 CMN1 = -m64 -mcmodel=large -mno-red-zone -fno-unwind-tables -fno-omit-frame-pointer
     35
     36#
     37# FIXME:
     38#
     39# The -fno-optimize-sibling-calls should be removed as soon as a bug
     40# in GCC concerning the "large" memory model and tail call optimization
     41# is fixed.
     42#
     43# If GCC generates a code for tail call, instead of generating ..
     44#
     45#   jmp *fnc
     46#
     47# it generates an assembly code with an illegal immediate prefix:
     48#
     49#   jmp *$fnc
     50#
     51
     52CMN1 = -m64 -mcmodel=large -mno-red-zone -fno-unwind-tables -fno-omit-frame-pointer -fno-optimize-sibling-calls
    3653GCC_CFLAGS += $(CMN1)
    3754ICC_CFLAGS += $(CMN1)
Note: See TracChangeset for help on using the changeset viewer.