1    /* 
     2     *  Copyright (c) 2008 Texas Instruments and others.
     3     *  All rights reserved. This program and the accompanying materials
     4     *  are made available under the terms of the Eclipse Public License v1.0
     5     *  which accompanies this distribution, and is available at
     6     *  http://www.eclipse.org/legal/epl-v10.html
     7     * 
     8     *  Contributors:
     9     *      Texas Instruments - initial implementation
    10     * 
    11     * */
    12    
    13    import xdc.bld.ITarget2;
    14    
    15    /*!
    16     *  ======== GCArmv6.xdc ========
    17     *  Embedded little endian Arm v6 Linux target
    18     *
    19     *  This module defines an embedded target for Linux on Arm. The target
    20     *  generates code compatible with the "v6" architecture.
    21     *
    22     */
    23    metaonly module GCArmv6 inherits gnu.targets.ITarget {
    24        override readonly config string name                = "GCArmv6";    
    25        override readonly config string os                  = "Linux";      
    26        override readonly config string suffix              = "v6";
    27        override readonly config string isa                 = "v6";
    28        override readonly config xdc.bld.ITarget.Model model= {
    29            endian: "little"
    30        };
    31    
    32        override readonly config string rts = "gnu.targets.arm.rtsv6";
    33        override config string platform     = "host.platforms.arm";
    34        
    35        override config string LONGNAME;
    36    
    37        override readonly config String stdInclude = "gnu/targets/arm/std.h";
    38    
    39        override readonly config ITarget2.Command cc = {
    40            cmd: "$(rootDir)/$(LONGNAME) -c -MD -MF $@.dep",
    41            opts: "-march=armv6"
    42        };
    43    
    44        override config ITarget2.Options ccOpts = {
    45            prefix: "-fPIC -Wunused",
    46            suffix: "-Dfar= "
    47        };
    48    
    49        override readonly config ITarget2.Command asm = {
    50            cmd: "$(rootDir)/$(LONGNAME) -c -x assembler",
    51            opts: "-march=armv6"
    52        };
    53    
    54        override config ITarget2.Options lnkOpts = {
    55            prefix: "",
    56            suffix: "-Wl,-Map=$(XDCCFGDIR)/$@.map -lstdc++ -L$(rootDir)/$(GCCTARG)/lib"
    57    
    58        };
    59            
    60        /*
    61         *  ======== compatibleSuffixes ========
    62         */
    63        override config String compatibleSuffixes[] = ["v5T", "470MV", "v5t"];
    64    
    65        override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
    66            t_IArg          : { size: 4, align: 4 },
    67            t_Char          : { size: 1, align: 1 },
    68            t_Double        : { size: 8, align: 4 },
    69            t_Float         : { size: 4, align: 4 },
    70            t_Fxn           : { size: 4, align: 4 },
    71            t_Int           : { size: 4, align: 4 },
    72            t_Int8          : { size: 1, align: 1 },
    73            t_Int16         : { size: 2, align: 2 },
    74            t_Int32         : { size: 4, align: 4 },
    75            t_Int64         : { size: 8, align: 4 },
    76            t_Long          : { size: 4, align: 4 },
    77            t_LDouble       : { size: 8, align: 4 },
    78            t_LLong         : { size: 8, align: 4 },
    79            t_Ptr           : { size: 4, align: 4 },
    80            t_Short         : { size: 2, align: 2 },
    81        };
    82    }
    83    /*
    84     *  @(#) gnu.targets.arm; 1, 0, 0, 0,267; 1-12-2011 13:20:58; /db/ztree/library/trees/xdctargets/xdctargets-c40x/src/ xlibrary
    85    
    86     */
    87