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