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     *  ======== UCArm9.xdc ========
    14     *  uClibc Arm9 little endian embedded Linux target
    15     *
    16     *  Arm nomenclature:
    17     *  @p(blist)
    18     *      Arm7*  devices contain v4 Cores
    19     *      Arm9*  devices contain v5 Cores
    20     *      Arm11* devices contain v6 thumb2 Cores
    21     *  @p
    22     */
    23    metaonly module UCArm9 inherits gnu.targets.ITarget {
    24        override readonly config string name                = "UCArm9";     
    25        override readonly config string os                  = "Linux";      
    26        override readonly config string suffix              = "470uC";
    27        override readonly config string isa                 = "v5T";
    28        override readonly config xdc.bld.ITarget.Model model= {
    29            endian: "little"
    30        };
    31    
    32        override readonly config string rts = "gnu.targets.rts470uC";
    33        override config string platform     = "ti.platforms.evmDM6446";
    34        
    35        override config string LONGNAME = "/bin/arm-linux-gcc";
    36    
    37        override config ITarget.Options ccOpts = {
    38            prefix: "-Wunused",
    39            suffix: "-Dfar= "
    40        };
    41    
    42        override config ITarget.Options lnkOpts = {
    43            prefix: "-static",
    44            suffix: "-L$(rootDir)/lib"
    45        };
    46            
    47        /*
    48         *  ======== profiles ========
    49         */
    50        override config xdc.bld.ITarget.OptionSet profiles[string] = [
    51            ["debug", {
    52                compileOpts: {
    53                    copts: "-g",
    54                    defs:  "-D_DEBUG_=1",
    55                },
    56                linkOpts: "-g",
    57            }],
    58    
    59            ["release", {
    60                compileOpts: {
    61                    copts: "-O2",
    62                },
    63                linkOpts: "",
    64            }],
    65    
    66            ["profile", {
    67                compileOpts: {
    68                    copts: "-g -pg",
    69                },
    70                linkOpts: "-pg"     /* can't use -static here */
    71            }],
    72    
    73            ["coverage", {
    74                compileOpts: {
    75                    copts: "-fprofile-arcs -ftest-coverage",
    76                },
    77                linkOpts: "",
    78            }],
    79        ];
    80    
    81        /*!
    82         *  ======== versionMap ========
    83         *  This map translates version string information from the compiler
    84         *  into a compatibility key.  The compatibilty key is used to
    85         *  validate consistency among a collection of packages used in
    86         *  a configuration.
    87         *
    88         *  The compiler version string is "gcc<ver>", where <ver> is
    89         *  GCCVERS.
    90         *
    91         *  If a compiler version is not found in this map the default is
    92         *  "1,0,<ver>", where <ver> is the compiler version number.  Thus,
    93         *  the user only needs to extend this table when a significant
    94         *  incompatibility occurs or when two versions of the compiler should
    95         *  be treated as 100% compatible.
    96         */
    97        override config string versionMap[string] = [
    98            ["gcc3.2", "1,0,3.2,0"],
    99        ];
   100    
   101        override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
   102            t_IArg          : { size: 4, align: 4 },
   103            t_Char          : { size: 1, align: 1 },
   104            t_Double        : { size: 8, align: 4 },
   105            t_Float         : { size: 4, align: 4 },
   106            t_Fxn           : { size: 4, align: 4 },
   107            t_Int           : { size: 4, align: 4 },
   108            t_Int8          : { size: 1, align: 1 },
   109            t_Int16         : { size: 2, align: 2 },
   110            t_Int32         : { size: 4, align: 4 },
   111            t_Int64         : { size: 8, align: 4 },
   112            t_Long          : { size: 4, align: 4 },
   113            t_LDouble       : { size: 8, align: 4 },
   114            t_LLong         : { size: 8, align: 4 },
   115            t_Ptr           : { size: 4, align: 4 },
   116            t_Short         : { size: 2, align: 2 },
   117        };
   118    }
   119    /*
   120     *  @(#) gnu.targets; 1, 0, 1,322; 7-29-2009 16:34:39; /db/atree/library/trees/xdctargets/xdctargets-b12x/src/
   121     */
   122