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    import xdc.bld.ITarget2;
    13    
    14    /*!
    15     *  ======== GCArmv7AF.xdc ========
    16     *  Embedded little endian Arm v7A Linux target with hardware floating point
    17     *  operations
    18     *
    19     *  This module defines an embedded target for Linux on Arm. The target
    20     *  generates code compatible with the "v7A" architecture.
    21     *
    22     */
    23    metaonly module GCArmv7AF inherits gnu.targets.arm.ITarget {
    24        override readonly config string name                = "GCArmv7AF";
    25        override readonly config string os                  = "Linux";
    26        override readonly config string suffix              = "v7AF";
    27        override readonly config string isa                 = "v7A";
    28        override readonly config xdc.bld.ITarget.Model model= {
    29            endian: "little"
    30        };
    31    
    32        override readonly config string rts = "gnu.targets.arm.rtsv7A";
    33        override config string platform     = "host.platforms.arm";
    34    
    35        override readonly config String stdInclude = "gnu/targets/arm/std.h";
    36    
    37        /*
    38         *  ======== cc ========
    39         */
    40        override readonly config ITarget2.Command cc = {
    41            cmd: "$(rootDir)/bin/$(GCCTARG)-gcc -c -MD -MF $@.dep",
    42            opts: "-march=armv7-a -mfloat-abi=hard"
    43        };
    44    
    45        /*
    46         *  ======== ccOpts ========
    47         */
    48        override config ITarget2.Options ccOpts = {
    49            prefix: "-fPIC -Wunused",
    50            suffix: "-Dfar= "
    51        };
    52    
    53        /*
    54         *  ======== asm ========
    55         */
    56        override readonly config ITarget2.Command asm = {
    57            cmd: "$(rootDir)/bin/$(GCCTARG)-gcc -c -x assembler",
    58            opts: "-Wa,-march=armv7-a -Wa,-mfloat-abi=hard"
    59        };
    60    
    61        /*
    62         *  ======== lnkOpts ========
    63         */
    64        override config ITarget2.Options lnkOpts = {
    65            prefix: "",
    66            suffix: "-Wl,-Map=$(XDCCFGDIR)/$@.map -lstdc++ -L$(rootDir)/$(GCCTARG)/lib"
    67        };
    68            
    69        /*
    70         *  ======== compatibleSuffixes ========
    71         */
    72        override config String compatibleSuffixes[] = [];
    73    
    74        /*
    75         *  ======== stdTypes ========
    76         */
    77        override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
    78            t_IArg          : { size: 4, align: 4 },
    79            t_Char          : { size: 1, align: 1 },
    80            t_Double        : { size: 8, align: 4 },
    81            t_Float         : { size: 4, align: 4 },
    82            t_Fxn           : { size: 4, align: 4 },
    83            t_Int           : { size: 4, align: 4 },
    84            t_Int8          : { size: 1, align: 1 },
    85            t_Int16         : { size: 2, align: 2 },
    86            t_Int32         : { size: 4, align: 4 },
    87            t_Int64         : { size: 8, align: 4 },
    88            t_Long          : { size: 4, align: 4 },
    89            t_LDouble       : { size: 8, align: 4 },
    90            t_LLong         : { size: 8, align: 4 },
    91            t_Ptr           : { size: 4, align: 4 },
    92            t_Short         : { size: 2, align: 2 },
    93            t_Size          : { size: 4, align: 4 },
    94        };
    95    }
    96    /*
    97     *  @(#) gnu.targets.arm; 1, 0, 0,0; 2-10-2017 09:06:33; /db/ztree/library/trees/xdctargets/xdctargets-m11/src/ xlibrary
    98    
    99     */
   100