source: trunk/toolchain/uClibc/patches-0.9.32/910-thumb_blind_options.patch @ 26703

Last change on this file since 26703 was 26703, checked in by nbd, 6 years ago

uClibc: update to latest version (rc3 + git changes), contains fixes for ipv6 dns issues

File size: 3.4 KB
  • Rules.mak

    Add three new blind options to set use of Thumb mode:
    - COMPILE_IN_THUMB_MODE
      - if set, CFLAGS will contain -mthumb
      - if unset, the compiler's default is used
    - HAS_THUMB
      - CPUS with Thumb instruction set can select this
      - use of BX depends on this
    - FORCE_THUMB
      - CPUs that are Thumb-only must select this
      - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX
    
    Also, remove leading space in Rules.mak.
    
    Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
    Cc: Khem Raj <raj.khem@gmail.com>
    Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
    Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
    ---
     Rules.mak                |    7 ++++---
     extra/Configs/Config.arm |   31 ++++++++++++++++++++++++++++---
     2 files changed, 32 insertions(+), 6 deletions(-)
    
    a b ifeq ($(TARGET_ARCH),arm) 
    351351        CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4 
    352352        CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110) 
    353353        CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale 
    354         CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt 
    355         CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb 
    356         CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb 
     354        CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt 
     355        CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 
     356        CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 
     357        CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb 
    357358endif 
    358359 
    359360ifeq ($(TARGET_ARCH),mips) 
  • extra/Configs/Config.arm

    a b config CONFIG_ARM710 
    6464config CONFIG_ARM7TDMI 
    6565        bool "Arm 7TDMI" 
    6666        select ARCH_HAS_NO_MMU 
     67        select HAS_THUMB 
    6768 
    6869config CONFIG_ARM720T 
    6970        bool "Arm 720T" 
    7071        select ARCH_HAS_MMU 
     72        select HAS_THUMB 
    7173 
    7274config CONFIG_ARM920T 
    7375        bool "Arm 920T" 
    7476        select ARCH_HAS_MMU 
     77        select HAS_THUMB 
    7578 
    7679config CONFIG_ARM922T 
    7780        bool "Arm 922T" 
    7881        select ARCH_HAS_MMU 
     82        select HAS_THUMB 
    7983 
    8084config CONFIG_ARM926T 
    8185        bool "Arm 926T" 
    8286        select ARCH_HAS_MMU 
     87        select HAS_THUMB 
    8388 
    8489config CONFIG_ARM10T 
    8590        bool "Arm 10T" 
    8691        select ARCH_HAS_MMU 
     92        select HAS_THUMB 
    8793 
    8894config CONFIG_ARM1136JF_S 
    8995        bool "Arm 1136JF-S" 
    9096        select ARCH_HAS_MMU 
     97        select HAS_THUMB 
    9198 
    9299config CONFIG_ARM1176JZ_S 
    93100        bool "Arm 1176JZ-S" 
    94101        select ARCH_HAS_MMU 
     102        select HAS_THUMB 
    95103 
    96104config CONFIG_ARM1176JZF_S 
    97105        bool "Arm 1176JZF-S" 
    98106        select ARCH_HAS_MMU 
     107        select HAS_THUMB 
    99108 
    100109config CONFIG_ARM_CORTEX_M3 
    101110        bool "Arm Cortex-M3" 
    102111        select ARCH_HAS_NO_MMU 
    103         select USE_BX 
     112        select FORCE_THUMB 
    104113 
    105114config CONFIG_ARM_CORTEX_M1 
    106115        bool "Arm Cortex-M1" 
    107116        select ARCH_HAS_NO_MMU 
    108         select USE_BX 
     117        select FORCE_THUMB 
    109118 
    110119config CONFIG_ARM_SA110 
    111120        bool "Intel StrongArm SA-110" 
    112121        select ARCH_HAS_MMU 
     122        select HAS_THUMB 
    113123 
    114124config CONFIG_ARM_SA1100 
    115125        bool "Intel StrongArm SA-1100" 
    116126        select ARCH_HAS_MMU 
     127        select HAS_THUMB 
    117128 
    118129config CONFIG_ARM_XSCALE 
    119130        bool "Intel Xscale" 
    120131        select ARCH_HAS_MMU 
     132        select HAS_THUMB 
    121133 
    122134config CONFIG_ARM_IWMMXT 
    123135        bool "Intel Xscale With WMMX PXA27x" 
    124136        select ARCH_HAS_MMU 
     137        select HAS_THUMB 
    125138 
    126139endchoice 
    127140 
     141config HAS_THUMB 
     142        bool 
     143 
     144config FORCE_THUMB 
     145        bool 
     146        select HAS_THUMB 
     147        select COMPILE_IN_THUMB_MODE 
     148        select USE_BX 
     149 
     150config COMPILE_IN_THUMB_MODE 
     151        bool 
     152 
    128153config USE_BX 
    129154        bool "Use BX in function return" 
    130155        default y 
    131         depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710 
     156        depends on HAS_THUMB 
    132157        help 
    133158          Use BX instruction for THUMB aware architectures. 
Note: See TracBrowser for help on using the repository browser.