ARM Software Development Toolkit Reference Guide

Total Page:16

File Type:pdf, Size:1020Kb

ARM Software Development Toolkit Reference Guide ARM Software Development Toolkit Version 2.50 Reference Guide Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C ARM Software Development Toolkit Reference Guide Copyright © 1997, 1998 ARM Limited. All rights reserved. Release Information The following changes have been made to this book. Change History Date Issue Change Jan 1997 A Created from ARM DUI 0020. Includes major updates for SDT 2.10 June 1997 B Updated for SDT 2.11 Nov 1998 C Updated for SDT 2.50 Proprietary Notice ARM, Thumb, StrongARM, and the ARM Powered logo are registered trademarks of ARM Limited. Angel, ARMulator, EmbeddedICE, Multi-ICE, ARM7TDMI, ARM9TDMI, and TDMI are trademarks of ARM Limited. All other products or services mentioned herein may be trademarks of their respective owners. Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder. The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded. This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product. ii Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C Contents ARM Software Development Toolkit Reference Guide Preface About this book ............................................................................................ viii Further reading .............................................................................................. x Typographical conventions .......................................................................... xiii Feedback ..................................................................................................... xiv Chapter 1 Introduction 1.1 About the ARM Software Development Toolkit ........................................... 1-2 1.2 Supported platforms .................................................................................... 1-5 1.3 What is new? .............................................................................................. 1-6 Chapter 2 The ARM Compilers 2.1 About the ARM compilers ........................................................................... 2-2 2.2 File usage ................................................................................................... 2-6 2.3 Command syntax ...................................................................................... 2-10 Chapter 3 ARM Compiler Reference 3.1 Compiler-specific features ........................................................................... 3-2 3.2 C and C++ implementation details ............................................................ 3-14 3.3 Standard C implementation definition ...................................................... 3-25 ARM DUI 0041C Copyright © 1997, 1998 ARM Limited. All rights reserved. iii Contents 3.4 Standard C++ implementation definition .................................................. 3-35 3.5 C and C++ language extensions .............................................................. 3-37 3.6 Predefined macros ................................................................................... 3-40 3.7 Implementation limits ................................................................................ 3-43 3.8 Limits for integral numbers ....................................................................... 3-46 3.9 Limits for floating-point numbers .............................................................. 3-47 3.10 C++ language feature support .................................................................. 3-49 Chapter 4 The C and C++ Libraries 4.1 About the runtime libraries ......................................................................... 4-2 4.2 The ANSI C library ...................................................................................... 4-5 4.3 The ARM C++ libraries ............................................................................. 4-14 4.4 The embedded C library ........................................................................... 4-18 4.5 Target-dependent ANSI C library functions .............................................. 4-26 4.6 Target-dependent I/O support functions ................................................... 4-29 4.7 Target-dependent kernel functions ........................................................... 4-35 4.8 Target-dependent operating system functions ......................................... 4-40 Chapter 5 Assembler 5.1 Command syntax ........................................................................................ 5-3 5.2 Format of source lines ................................................................................ 5-8 5.3 Predefined register and coprocessor names .............................................. 5-9 5.4 Built-in variables ....................................................................................... 5-10 5.5 ARM pseudo-instructions ......................................................................... 5-11 5.6 Thumb pseudo-instructions ...................................................................... 5-19 5.7 Symbols .................................................................................................... 5-25 5.8 Directives .................................................................................................. 5-30 5.9 Expressions and operators ....................................................................... 5-88 Chapter 6 Linker 6.1 About the linker ........................................................................................... 6-2 6.2 Command syntax ........................................................................................ 6-4 6.3 Building blocks for objects and images .................................................... 6-12 6.4 Image file formats ..................................................................................... 6-13 6.5 Image structure ......................................................................................... 6-15 6.6 Specifying an image memory map ........................................................... 6-17 6.7 About scatter loading ................................................................................ 6-21 6.8 The scatter load description file ................................................................ 6-23 6.9 Area placement and sorting rules ............................................................. 6-31 6.10 Linker-defined symbols ............................................................................. 6-33 6.11 Including library members ........................................................................ 6-36 6.12 Automatic inclusion of libraries ................................................................. 6-38 6.13 Handling relocation directives ................................................................... 6-40 Chapter 7 ARM Symbolic Debugger 7.1 About armsd ............................................................................................... 7-2 iv Copyright © 1997, 1998 ARM Limited. All rights reserved. ARM DUI 0041C Contents 7.2 Command syntax ........................................................................................ 7-3 7.3 Running armsd ............................................................................................ 7-5 7.4 Alphabetical list of armsd commands .......................................................... 7-9 7.5 Specifying source-level objects ................................................................. 7-48 7.6 Armsd variables ........................................................................................ 7-53 7.7 Low-level debugging ................................................................................. 7-58 7.8 armsd commands for EmbeddedICE ........................................................ 7-61 7.9 Accessing the Debug Communications Channel ...................................... 7-63 Chapter 8 Toolkit Utilities 8.1 Functions of the toolkit utilities .................................................................... 8-2 8.2 The fromELF utility ...................................................................................... 8-3 8.3 ARM profiler ................................................................................................ 8-6 8.4 ARM librarian .............................................................................................. 8-8 8.5 ARM object file decoder ............................................................................ 8-10 8.6 ARM executable format decoder ............................................................... 8-11 8.7 ANSI to PCC C Translator ........................................................................ 8-12 8.8 The Flash downloader .............................................................................. 8-15 Chapter 9 ARM Procedure Call Standard 9.1 About the ARM Procedure Call Standard ................................................... 9-2 9.2 APCS definition ..........................................................................................
Recommended publications
  • Intel® Strongarm® SA-1110 High- Performance, Low-Power Processor for Portable Applied Computing Devices
    Advance Copy Intel® StrongARM® SA-1110 High- Performance, Low-Power Processor For Portable Applied Computing Devices PRODUCT HIGHLIGHTS ■ Innovative Application Specific Standard Product (ASSP) delivers leadership performance, integration and low power for palm-size devices, PC companions, smart phones and other emerging portable applied computing devices As businesses and individuals rely increasingly on portable applied ■ High-speed 100 MHz memory bus and a computing devices to simplify their lives and boost their productivity, flexible memory these devices have to perform more complex functions quickly and controller that adds efficiently. To satisfy ever-increasing customer demands to support for SDRAM, communicate and access information ‘anytime, anywhere’, SMROM, and variable- manufacturers need technologies that deliver high-performance, robust latency I/O devices — provides design functionality and versatility while meeting the small-size and low-power flexibility, scalability and restrictions of portable, battery-operated products. Intel designed the high memory bandwidth SA-1110 processor with all of these requirements in mind. ■ Rich development The Intel® SA-1110 is a highly integrated 32-bit StrongARM® environment enables processor that incorporates Intel design and process technology along leading edge products with the power efficiency of the ARM* architecture. The SA-1110 is while reducing time- to-market software compatible with the ARM V4 architecture while utilizing a high-performance micro-architecture that is optimized to take advantage of Intel process technology. The Intel SA-1110 provides the performance, low power, integration and cost benefits of the Intel SA-1100 processor plus a high speed memory bus, flexible memory controller and the ability to handle variable-latency I/O devices.
    [Show full text]
  • Comparison of Contemporary Real Time Operating Systems
    ISSN (Online) 2278-1021 IJARCCE ISSN (Print) 2319 5940 International Journal of Advanced Research in Computer and Communication Engineering Vol. 4, Issue 11, November 2015 Comparison of Contemporary Real Time Operating Systems Mr. Sagar Jape1, Mr. Mihir Kulkarni2, Prof.Dipti Pawade3 Student, Bachelors of Engineering, Department of Information Technology, K J Somaiya College of Engineering, Mumbai1,2 Assistant Professor, Department of Information Technology, K J Somaiya College of Engineering, Mumbai3 Abstract: With the advancement in embedded area, importance of real time operating system (RTOS) has been increased to greater extent. Now days for every embedded application low latency, efficient memory utilization and effective scheduling techniques are the basic requirements. Thus in this paper we have attempted to compare some of the real time operating systems. The systems (viz. VxWorks, QNX, Ecos, RTLinux, Windows CE and FreeRTOS) have been selected according to the highest user base criterion. We enlist the peculiar features of the systems with respect to the parameters like scheduling policies, licensing, memory management techniques, etc. and further, compare the selected systems over these parameters. Our effort to formulate the often confused, complex and contradictory pieces of information on contemporary RTOSs into simple, analytical organized structure will provide decisive insights to the reader on the selection process of an RTOS as per his requirements. Keywords:RTOS, VxWorks, QNX, eCOS, RTLinux,Windows CE, FreeRTOS I. INTRODUCTION An operating system (OS) is a set of software that handles designed known as Real Time Operating System (RTOS). computer hardware. Basically it acts as an interface The motive behind RTOS development is to process data between user program and computer hardware.
    [Show full text]
  • ARM Software Development Toolkit Version 2.11 User Guide
    211ug.book : SDT_UG_Front_cover.fm Page i Sunday, June 1, 1997 12:21 PM ARM Software Development Toolkit Version 2.11 User Guide Document number: ARM DUI 0040C Issued: May 1997 Copyright Advanced RISC Machines Ltd (ARM) 1996 Beta Draft Beta ENGLAND GERMANY Advanced RISC Machines Limited Advanced RISC Machines Limited Fulbourn Road Otto-Hahn Str. 13b Cherry Hinton 85521 Ottobrunn-Riemerling Cambridge CB1 4JN Munich UK Germany Telephone: +44 1223 400400 Telephone: +49 89 608 75545 Facsimile: +44 1223 400410 Facsimile: +49 89 608 75599 Email: [email protected] Email: [email protected] JAPAN USA Advanced RISC Machines K.K. ARM USA Incorporated KSP West Bldg, 3F 300D, 3-2-1 Sakado Suite 5 Takatsu-ku, Kawasaki-shi 985 University Avenue Kanagawa Los Gatos 213 Japan CA 95030 USA Telephone: +81 44 850 1301 Telephone: +1 408 399 5199 Facsimile: +81 44 850 1308 Facsimile: +1 408 399 8854 Email: [email protected] Email: [email protected] World Wide Web address: http://www.arm.com Partner Confidential - Final Draft 211ug.book : SDT_UG_Front_cover.fm Page ii Sunday, June 1, 1997 12:21 PM Proprietary Notice ARM, the ARM Powered logo and EmbeddedICE are trademarks of Advanced RISC Machines Ltd. Neither the whole nor any part of the information contained in, or the product described in, this manual may be adapted or reproduced in any material form except with the prior written permission of the copyright holder. The product described in this manual is subject to continuous developments and improvements. All particulars of the product and its use contained in this manual are given by ARM in good faith.
    [Show full text]
  • IXP400 Software's Programmer's Guide
    Intel® IXP400 Software Programmer’s Guide June 2004 Document Number: 252539-002c Intel® IXP400 Software Contents INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. The Intel® IXP400 Software v1.2.2 may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. MPEG is an international standard for video compression/decompression promoted by ISO. Implementations of MPEG CODECs, or MPEG enabled platforms may require licenses from various entities, including Intel Corporation. This document and the software described in it are furnished under license and may only be used or copied in accordance with the terms of the license. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation.
    [Show full text]
  • Comparative Architectures
    Comparative Architectures CST Part II, 16 lectures Lent Term 2006 David Greaves [email protected] Slides Lectures 1-13 (C) 2006 IAP + DJG Course Outline 1. Comparing Implementations • Developments fabrication technology • Cost, power, performance, compatibility • Benchmarking 2. Instruction Set Architecture (ISA) • Classic CISC and RISC traits • ISA evolution 3. Microarchitecture • Pipelining • Super-scalar { static & out-of-order • Multi-threading • Effects of ISA on µarchitecture and vice versa 4. Memory System Architecture • Memory Hierarchy 5. Multi-processor systems • Cache coherent and message passing Understanding design tradeoffs 2 Reading material • OHP slides, articles • Recommended Book: John Hennessy & David Patterson, Computer Architecture: a Quantitative Approach (3rd ed.) 2002 Morgan Kaufmann • MIT Open Courseware: 6.823 Computer System Architecture, by Krste Asanovic • The Web http://bwrc.eecs.berkeley.edu/CIC/ http://www.chip-architect.com/ http://www.geek.com/procspec/procspec.htm http://www.realworldtech.com/ http://www.anandtech.com/ http://www.arstechnica.com/ http://open.specbench.org/ • comp.arch News Group 3 Further Reading and Reference • M Johnson Superscalar microprocessor design 1991 Prentice-Hall • P Markstein IA-64 and Elementary Functions 2000 Prentice-Hall • A Tannenbaum, Structured Computer Organization (2nd ed.) 1990 Prentice-Hall • A Someren & C Atack, The ARM RISC Chip, 1994 Addison-Wesley • R Sites, Alpha Architecture Reference Manual, 1992 Digital Press • G Kane & J Heinrich, MIPS RISC Architecture
    [Show full text]
  • Arm C Language Extensions Documentation Release ACLE Q1 2019
    Arm C Language Extensions Documentation Release ACLE Q1 2019 Arm Limited. Mar 21, 2019 Contents 1 Preface 1 1.1 Arm C Language Extensions.......................................1 1.2 Abstract..................................................1 1.3 Keywords.................................................1 1.4 How to find the latest release of this specification or report a defect in it................1 1.5 Confidentiality status...........................................1 1.5.1 Proprietary Notice.......................................2 1.6 About this document...........................................3 1.6.1 Change control.........................................3 1.6.1.1 Change history.....................................3 1.6.1.2 Changes between ACLE Q2 2018 and ACLE Q1 2019................3 1.6.1.3 Changes between ACLE Q2 2017 and ACLE Q2 2018................3 1.6.2 References...........................................3 1.6.3 Terms and abbreviations....................................3 1.7 Scope...................................................4 2 Introduction 5 2.1 Portable binary objects..........................................5 3 C language extensions 7 3.1 Data types................................................7 3.1.1 Implementation-defined type properties............................7 3.2 Predefined macros............................................8 3.3 Intrinsics.................................................8 3.3.1 Constant arguments to intrinsics................................8 3.4 Header files................................................8
    [Show full text]
  • AASP Brief 031704F.Pdf
    servicebrief Avnet Avenue Service Provider Program Avnet Design Services has teamed up with the top design service companies in North America to provide you with superior component, board and system level solutions. In cooperation with Avnet Design Services, you can access these pre-screened and certified design service providers. WHAT is the Avnet Avenue Service Provider Program? A geographically dispersed and technical diverse network of design service providers available to fulfill your design service needs Avnet's seven partners are the top design service companies in North America The program compliments Avnet Design Services' ASIC and FPGA design service offerings by providing additional component, board and system-level design services WHY use an Avnet Avenue Service Provider? Time to Market The program provides additional technical resources to assist you in meeting your time to market requirements Value All Providers are selected based on their ability to provide cost competitive solutions Experience All Providers have proven experience completing a wide array of projects on time and within budget Less Risk All Providers are pre-screened and certified to ensure your success Technology The program provides you with single source access to a broad range of services and technical expertise Scale All Providers are capable of supporting the full range of design service requirements from very large to small HOW do I access the Avnet Avenue Service Provider Program? Contact your local Avnet Representative or call 1-800-585-1602 so that
    [Show full text]
  • ARM Command Line Workbook
    ARM Command Line Workbook CS160 Computer Organization Version 1.1 October 27th, 2002 Revised Fall 2005 ARM University Program Version 1.0 January 14, 1997 ARM Command Line Workbook Introduction Aim This workbook provides the student with a basic understanding of the facilities provided by the ARM Toolkit for command line users. Note: For all of the command line tools provided with the toolkit it is possible to get on- line help on the command line parameters by specifying the toolname followed by -help. Prerequisites Before getting started, you will need to add the ARM tools to your command path. Make the following change to the ~/.zsh_files/.zshrc file: • export PATH="$PATH:/pkgs/arm202u/bin" Next, you will need to add an environment variable so that the ARM compiler knows where to find the appropriate libraries. Make the following change to the ~/.zshrc file: • export ARMLIB="/pkgs/arm202u/lib" Ask the GTAs for help if you don’t know how to do this. When done, issue the commands: source ~/.zshrc ~cs160/bin/armsetup.pl The latter will create a hierarchy of subdirectories and files in a directory called arm within your cs160 directory. The reference /cmdline/hello.c thus should be read as ~/arm/cmdline/hello.c Compiler The ‘Hello World’ example program is a simple C program which calls a subroutine. This program file can be found as /cmdline/hello.c #include <stdio.h> /* Declare subroutine before used by main */ void subroutine (void); int main() { printf("Hello World from main\n"); subroutine(); printf("And Goodbye from main\n"); return 0; } /* Define subroutine */ void subroutine() { printf("Hello from subroutine\n"); } 2 ARM Command Line Workbook Exercise 1.1 Compile this program with the ARM C compiler type armcc -g hello.c The C compiler automatically invokes the linker to produce an executable with the same name as the C module but with no file extension.
    [Show full text]
  • Updated Virtualrpc Components for RISC OS 6
    ne of the main things that keeps me using my Risc PC is the versatility of the operating system - mainly due to it’s universal draw file format. For Oinstance I construct the centre pages in Artworks as this now has excellent PDF export facilities. However for proofing the magazine before it gets sent to the printers I like to do a printout to see if everything works properly. Because Artworks now can deal with multiple pages it is very easy to save each page either as an Artworks file or Draw file directly into the magazine’s Ovation Pro file by dragging and dropping. A two second job! Other computer platforms don’t generally have this facility of moving files directly into open application windows. Generally to move a file to another application you have to use the dreaded ‘save as’ filer window - choose a suitable format - navigate to where you need to save the file - save it - go to the other application - open a filer window - navigate to the saved file - open it in the new application. If you need to transfer a different file type you generally have to go through all that palaver again. Two seconds on RISC OS, thirty seconds on OS X or Windows. Draw is a great program with no real equivalent on a PC or Mac. For instance it can be put to good use in music for constructing objects the original program can’t do. I use the Sibelius music setting program on both RISC OS and Windows. The RISC OS still has one or two advantages over the PC version, one of which is it’s ability to export to Draw.
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • Chapter 13 ARM Image Format
    Chapter 13 ARM Image Format This chapter describes the ARM Image Format (AIF). It contains the following sections: • Overview of the ARM Image Format on page 13-2 • AIF variants on page 13-3 • The layout of AIF on page 13-4. ARM DUI 0041C Copyright © 1997 and 1998 ARM Limited. All rights reserved. 13-1 ARM Image Format 13.1 Overview of the ARM Image Format ARM Image Format (AIF) is a simple format for ARM executable images, consisting of: • a 128-byte header • the image code • the image initialized static data. An AIF image is capable of self-relocation if it is created with the appropriate linker options. The image can be loaded anywhere and it will execute where it is loaded. After an AIF image has been relocated, it can create its own zero-initialized area. Finally, the image is entered at the unique entry point. 13-2 Copyright © 1997 and 1998 ARM Limited. All rights reserved. ARM DUI 0041C ARM Image Format 13.2 AIF variants There are three variants of AIF: Executable AIF Executable AIF can be loaded at its load address and entered at the same point (at the first word of the AIF header). It prepares itself for execution by relocating itself if required and setting to zero its own zero-initialized data. The header is part of the image itself. Code in the header ensures that the image is properly prepared for execution before being entered at its entry address. The fourth word of an executable AIF header is: BL entrypoint The most significant byte of this word (in the target byte order) is 0xeb.
    [Show full text]
  • Network Processors: Building Block for Programmable Networks
    NetworkNetwork Processors:Processors: BuildingBuilding BlockBlock forfor programmableprogrammable networksnetworks Raj Yavatkar Chief Software Architect Intel® Internet Exchange Architecture [email protected] 1 Page 1 Raj Yavatkar OutlineOutline y IXP 2xxx hardware architecture y IXA software architecture y Usage questions y Research questions Page 2 Raj Yavatkar IXPIXP NetworkNetwork ProcessorsProcessors Control Processor y Microengines – RISC processors optimized for packet processing Media/Fabric StrongARM – Hardware support for Interface – Hardware support for multi-threading y Embedded ME 1 ME 2 ME n StrongARM/Xscale – Runs embedded OS and handles exception tasks SRAM DRAM Page 3 Raj Yavatkar IXP:IXP: AA BuildingBuilding BlockBlock forfor NetworkNetwork SystemsSystems y Example: IXP2800 – 16 micro-engines + XScale core Multi-threaded (x8) – Up to 1.4 Ghz ME speed RDRAM Microengine Array Media – 8 HW threads/ME Controller – 4K control store per ME Switch MEv2 MEv2 MEv2 MEv2 Fabric – Multi-level memory hierarchy 1 2 3 4 I/F – Multiple inter-processor communication channels MEv2 MEv2 MEv2 MEv2 Intel® 8 7 6 5 y NPU vs. GPU tradeoffs PCI XScale™ Core MEv2 MEv2 MEv2 MEv2 – Reduce core complexity 9 10 11 12 – No hardware caching – Simpler instructions Î shallow MEv2 MEv2 MEv2 MEv2 Scratch pipelines QDR SRAM 16 15 14 13 Memory – Multiple cores with HW multi- Controller Hash Per-Engine threading per chip Unit Memory, CAM, Signals Interconnect Page 4 Raj Yavatkar IXPIXP 24002400 BlockBlock DiagramDiagram Page 5 Raj Yavatkar XScaleXScale
    [Show full text]