Embedded System Setting up Development Environment

Total Page:16

File Type:pdf, Size:1020Kb

Embedded System Setting up Development Environment Embedded System Setting up Development Environment Tool chain installation GCC tool chain includes gcc compiler,assembler, linker, and other related utilities. (root@host)#rpm –ivh armtools-2.95.3- 5.i386.rpm Add /usr/local/gnu-2.95.3/bin to the searching path. (root@host)# export PATH=/usr/local/gnu- 2.95.3/bin:$PATH Setting up Development Environment Installing uClibc (root@host)#rpm –ivh uClibc-0.9.5- 1.i386.rpm The uClibc will be installed in /usr/local/uClibc-0.9.5 Building busybox BusyBox: The Swiss Army Knife of Embedded Linux Official site: http://busybox.net Install the BusyBox Configure the function of busybox Modify Makefile make Configure the function of busybox Config.h // This file defines the feature set to be compiled into busybox. // When you turn things off here, they won’t be compiled in at all. // //// This file is parsed by sed. You MUST use single line comments. // i.e., //#define BB_BLAH // // BusyBox Applications //#define BB_ADJTIMEX //#define BB_AR #define BB_ASH … # If you are running a cross compiler, you may want to set this # to something more interesting, like “powerpc-linux-“. CROSS = arm-elf- CC = $(CROSS)gcc … CROSS_CFLAGS+= -nostdinc –I$(LIBCDIR)/include –I$(GCCINCDIR) #Add below LIBCDIR=/usr/local/uClibc-0.9.5/linux-2.0.x GCCINCDIR=/usr/local/gnu-2.95.3/lib/gcc-lib/arm-elf/2.95/include Modify Makefile # If you are running a cross compiler, you may want to set this # to something more interesting, like “powerpc-linux-“. CROSS = arm-elf- CC = $(CROSS)gcc … CROSS_CFLAGS+= -nostdinc –I$(LIBCDIR)/include – I$(GCCINCDIR) #Add below LIBCDIR=/usr/local/uClibc-0.9.5/linux-2.0.x GCCINCDIR=/usr/local/gnu-2.95.3/lib/gcc-lib/arm-elf/2.95 How to use busybox first # ln -s busybox /bin/utilyname # utilyname Second busybox utilyname Building uClinux O.S Build kernel Get kernel source code - kernel- 2.0.38.tar.bz2 http://www.kernel.org/pub/linux/kernel ftp://linux.csie.nctu.edu.tw/kernel Patch root@host:~/linux/ #patch –p1 < patch-uClinux- arm-2.0.38.gz http://www.uclinux.org/pub/uClinux/ Building uClinux O.S Use netstart-patch root@host:~/linux/ # zcat ../uClinux- NETStart-2.0.x.patch.gz | patch –p1 Set kernel configure make menuconfig (make xconfig) make dep && make clean make linux.bin Building an initial ramdisk image Build ramdisk: root@host:~/# dd if=/dev/zero of=/tmp/initrd1024 bs=1k count=1024 Format : root@host:~/# mkfs.minix /tmp/initrd-1024 Mount : mount -o loop –t minix /tmp/initrd-1024 /mnt/initrd Building an initial ramdisk image add/delete files into this directory bin/ dev/ proc/ lib/ etc/ mnt/ usr/ sbin->bin/ Building an initial ramdisk image umount umount /mnt/initrd dd if=/tmp/initrd1024 bs=1k count=1024 | gzip -9 /tmp/initrds.gz Download O.S to NET-Start! board Download O.S to NET-Start! board Download O.S to NET-Start! board Download O.S to NET-Start! board Download O.S to NET-Start! board System power up, the switch 2 of SW2 is set at the OFF position, the bootstrap loader will boot into the built-in Linux kernel. Commands of bootstrap loader HELP – Help UNIT - Set access unit DUMP - Memory dump COPY - Memory copy FILL - Fill memory POKE - Poke memory PEEK - Peek memory TX - Send XMODEM file RX - Receive XMODEM file GO - Execute binary INFO - Print system information Download O.S to NET-Start! board RUN>Help Download O.S to NET-Start! board download linux.bin to NET-Start! board RUN> rx 0x10000 RUN> copy 0x10000 0xb0000 0x1810000 download initrds.gz to NET-Start! board RUN> rx 0x10000 RUN> copy 0x10000 0x70000 0x18c0000 Developing Application Program Step1. Build the binary code root@host:~/ # arm-elf-gcc -c hello.c root@host:~/# arm-elf-ld -L/usr/local/gnu- 2.95.3/lib/gcc-lib/arm-elf/2.95.3 -L/root/uClibc/lib - L/usr/local/gnu/arm-elf/lib -elf2flt -o hello /root/uClibc/lib/crt0.o /usr/local/gnu-2.95.3/lib/gcc- lib/arm-elf/2.95.3/crtbegin.o hello.o /usr/local/gnu-2.95.3/lib/gcc-lib/arm- elf/2.95.3/crtend.o -lc -lgcc -lc 2 Developing Application Program Step2. download the program. Step3. Execute the program # chmod +x hello # ./hello Reference http://netcity3.web.hinet.net/UserData/st one369/comp/linux_one_disk.htm.
Recommended publications
  • Also Includes Slides and Contents From
    The Compilation Toolchain Cross-Compilation for Embedded Systems Prof. Andrea Marongiu ([email protected]) Toolchain The toolchain is a set of development tools used in association with source code or binaries generated from the source code • Enables development in a programming language (e.g., C/C++) • It is used for a lot of operations such as a) Compilation b) Preparing Libraries Most common toolchain is the c) Reading a binary file (or part of it) GNU toolchain which is part of d) Debugging the GNU project • Normally it contains a) Compiler : Generate object files from source code files b) Linker: Link object files together to build a binary file c) Library Archiver: To group a set of object files into a library file d) Debugger: To debug the binary file while running e) And other tools The GNU Toolchain GNU (GNU’s Not Unix) The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and software for embedded systems. The GNU project produced a set of programming tools. Parts of the toolchain we will use are: -gcc: (GNU Compiler Collection): suite of compilers for many programming languages -binutils: Suite of tools including linker (ld), assembler (gas) -gdb: Code debugging tool -libc: Subset of standard C library (assuming a C compiler). -bash: free Unix shell (Bourne-again shell). Default shell on GNU/Linux systems and Mac OSX. Also ported to Microsoft Windows. -make: automation tool for compilation and build Program development tools The process of converting source code to an executable binary image requires several steps, each with its own tool.
    [Show full text]
  • FPGA BASED RECONFIGURABLE BODY AREA NETWORK USING Nios II and Uclinux
    FPGA BASED RECONFIGURABLE BODY AREA NETWORK USING Nios II AND uClinux A Thesis Submitted to the College of Graduate Studies and Research in Partial Fulfillment of the Requirements for the Degree of Master of Science in the Department of Electrical and Computer Engineering University of Saskatchewan by Anthony Voykin Saskatoon, Saskatchewan, Canada c Copyright Anthony Voykin, April 2013. All rights reserved. Permission to Use In presenting this thesis in partial fulfillment of the requirements for a Postgraduate degree from the University of Saskatchewan, it is agreed that the Libraries of this University may make it freely available for inspection. Permission for copying of this thesis in any manner, in whole or in part, for scholarly purposes may be granted by the professors who supervised this thesis work or, in their absence, by the Head of the Department of Electrical and Computer Engineering or the Dean of the College of Graduate Studies and Research at the University of Saskatchewan. Any copying, publication, or use of this thesis, or parts thereof, for financial gain without the written permission of the author is strictly prohibited. Proper recognition shall be given to the author and to the University of Saskatchewan in any scholarly use which may be made of any material in this thesis. Request for permission to copy or to make any other use of material in this thesis in whole or in part should be addressed to: Head of the Department of Electrical and Computer Engineering 57 Campus Drive University of Saskatchewan Saskatoon, Saskatchewan, Canada S7N 5A9 i Acknowledgments I would like to thank my advisors Professor Ron Bolton and Professor Francis Bui for providing me with guidance and support necessary to complete my thesis work.
    [Show full text]
  • Operating Systems and Applications for Embedded Systems >>> Toolchains
    >>> Operating Systems And Applications For Embedded Systems >>> Toolchains Name: Mariusz Naumowicz Date: 31 sierpnia 2018 [~]$ _ [1/19] >>> Plan 1. Toolchain Toolchain Main component of GNU toolchain C library Finding a toolchain 2. crosstool-NG crosstool-NG Installing Anatomy of a toolchain Information about cross-compiler Configruation Most interesting features Sysroot Other tools POSIX functions AP [~]$ _ [2/19] >>> Toolchain A toolchain is the set of tools that compiles source code into executables that can run on your target device, and includes a compiler, a linker, and run-time libraries. [1. Toolchain]$ _ [3/19] >>> Main component of GNU toolchain * Binutils: A set of binary utilities including the assembler, and the linker, ld. It is available at http://www.gnu.org/software/binutils/. * GNU Compiler Collection (GCC): These are the compilers for C and other languages which, depending on the version of GCC, include C++, Objective-C, Objective-C++, Java, Fortran, Ada, and Go. They all use a common back-end which produces assembler code which is fed to the GNU assembler. It is available at http://gcc.gnu.org/. * C library: A standardized API based on the POSIX specification which is the principle interface to the operating system kernel from applications. There are several C libraries to consider, see the following section. [1. Toolchain]$ _ [4/19] >>> C library * glibc: Available at http://www.gnu.org/software/libc. It is the standard GNU C library. It is big and, until recently, not very configurable, but it is the most complete implementation of the POSIX API. * eglibc: Available at http://www.eglibc.org/home.
    [Show full text]
  • A Review on Elliptic Curve Cryptography for Embedded Systems
    International Journal of Computer Science & Information Technology (IJCSIT), Vol 3, No 3, June 2011 A REVIEW ON ELLIPTIC CURVE CRYPTOGRAPHY FOR EMBEDDED SYSTEMS Rahat Afreen 1 and S.C. Mehrotra 2 1Tom Patrick Institute of Computer & I.T, Dr. Rafiq Zakaria Campus, Rauza Bagh, Aurangabad. (Maharashtra) INDIA [email protected] 2Department of C.S. & I.T., Dr. B.A.M. University, Aurangabad. (Maharashtra) INDIA [email protected] ABSTRACT Importance of Elliptic Curves in Cryptography was independently proposed by Neal Koblitz and Victor Miller in 1985.Since then, Elliptic curve cryptography or ECC has evolved as a vast field for public key cryptography (PKC) systems. In PKC system, we use separate keys to encode and decode the data. Since one of the keys is distributed publicly in PKC systems, the strength of security depends on large key size. The mathematical problems of prime factorization and discrete logarithm are previously used in PKC systems. ECC has proved to provide same level of security with relatively small key sizes. The research in the field of ECC is mostly focused on its implementation on application specific systems. Such systems have restricted resources like storage, processing speed and domain specific CPU architecture. KEYWORDS Elliptic curve cryptography Public Key Cryptography, embedded systems, Elliptic Curve Digital Signature Algorithm ( ECDSA), Elliptic Curve Diffie Hellman Key Exchange (ECDH) 1. INTRODUCTION The changing global scenario shows an elegant merging of computing and communication in such a way that computers with wired communication are being rapidly replaced to smaller handheld embedded computers using wireless communication in almost every field. This has increased data privacy and security requirements.
    [Show full text]
  • Porting Musl to the M3 Microkernel TU Dresden
    Porting Musl to the M3 microkernel TU Dresden Sherif Abdalazim, Nils Asmussen May 8, 2018 Contents 1 Abstract 2 2 Introduction 3 2.1 Background.............................. 3 2.2 M3................................... 4 3 Picking a C library 5 3.1 C libraries design factors . 5 3.2 Alternative C libraries . 5 4 Porting Musl 7 4.1 M3andMuslbuildsystems ..................... 7 4.1.1 Scons ............................. 7 4.1.2 GNUAutotools........................ 7 4.1.3 Integrating Autotools with Scons . 8 4.2 Repositoryconfiguration. 8 4.3 Compilation.............................. 8 4.4 Testing ................................ 9 4.4.1 Syscalls ............................ 9 5 Evaluation 10 5.1 PortingBusyboxcoreutils . 10 6 Conclusion 12 1 Chapter 1 Abstract Today’s processing workloads require the usage of heterogeneous multiproces- sors to utilize the benefits of specialized processors and accelerators. This has, in turn, motivated new Operating System (OS) designs to manage these het- erogeneous processors and accelerators systematically. M3 [9] is an OS following the microkernel approach. M3 uses a hardware/- software co-design to exploit the heterogeneous systems in a seamless and effi- cient form. It achieves that by abstracting the heterogeneity of the cores via a Data Transfer Unit (DTU). The DTU abstracts the heterogeneity of the cores and accelerators so that they can communicate systematically. I have been working to enhance the programming environment in M3 by porting a C library to M3. I have evaluated different C library implementations like the GNU C Library (glibc), Musl, and uClibc. I decided to port Musl as it has a relatively small code base with fewer configurations. It is simpler to port, and it started to gain more ground in embedded systems which are also a perfect match for M3 applications.
    [Show full text]
  • MANAGING a REAL-TIME EMBEDDED LINUX PLATFORM with BUILDROOT John Diamond, Kevin Martin Fermi National Accelerator Laboratory, Batavia, IL 60510
    MANAGING A REAL-TIME EMBEDDED LINUX PLATFORM WITH BUILDROOT John Diamond, Kevin Martin Fermi National Accelerator Laboratory, Batavia, IL 60510 Desktop distributions are an awkward Buildroot + ucLibc + Busybox + RTAI Quantitative Results implementation of an Embedded RTOS Buildroot – downloads, unpacks, • Whole build process is automated resulting in • Architecture-dependent binary configures, compiles and installs system much quicker build times (hours not days) software automatically • Kernel and root filesystem size: 3.5 MB – 20 packages uClibc – Small-footprint standard C library MB (reduction of 99%) • Loaded with unnecessary software Busybox – all-in-one UNIX utilities and shell • Boot-time: ~9 seconds • Huge footprints RTAI – Real-Time Linux extensions = Qualitative Results • Allows integration with revision control into First Try: Build Linux from Source the platform development process, making it • Success! But.. 2. Buildroot’s menuconfig generates a package configuration file easier to manage an ecosystem of targets • Is as difficult as it sounds and kernel configuration file • Community support for x86 & ARM targets Linux Kernel • Overwhelming number of packages and Configuration gives us confidence that future targets can be patches Package supported without much effort 1. Developer Configuration • No version control configures build via Buildroot’s • Cross-compile even more headaches menuconfig Internet Build Process Power Supply Control Quench Protection Git / CVS / SVN and Regulation for the System for Tevatron Did not do what we needed: Fermilab Linac Electron Lens (TEL II) 3. The build process pulls 4. The output from the software packages from build process is a kernel • Small-footprint network bootable image the internet and custom bzImage bzImage file with an softare packages from a integrated root filesystem ARM Cortex A-9 source code repository file PC/104 AMD • Automated build system Geode SBC Beam Position Monitor Power Supply Control prototype for Fermilab and Regulation for • Support for multiple architectures 5.
    [Show full text]
  • Anatomy of Cross-Compilation Toolchains
    Embedded Linux Conference Europe 2016 Anatomy of cross-compilation toolchains Thomas Petazzoni free electrons [email protected] Artwork and Photography by Jason Freeny free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 1/1 Thomas Petazzoni I CTO and Embedded Linux engineer at Free Electrons I Embedded Linux specialists. I Development, consulting and training. I http://free-electrons.com I Contributions I Kernel support for the Marvell Armada ARM SoCs from Marvell I Major contributor to Buildroot, an open-source, simple and fast embedded Linux build system I Living in Toulouse, south west of France Drawing from Frank Tizzoni, at Kernel Recipes 2016 free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 2/1 Disclaimer I I am not a toolchain developer. Not pretending to know everything about toolchains. I Experience gained from building simple toolchains in the context of Buildroot I Purpose of the talk is to give an introduction, not in-depth information. I Focused on simple gcc-based toolchains, and for a number of examples, on ARM specific details. I Will not cover advanced use cases, such as LTO, GRAPHITE optimizations, etc. I Will not cover LLVM free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 3/1 What is a cross-compiling toolchain? I A set of tools that allows to build source code into binary code for
    [Show full text]
  • Choosing System C Library
    Choosing System C library Khem Raj Comcast Embedded Linux Conference Europe 2014 Düsseldorf Germany Introduction “God defined C standard library everything else is creation of man” Introduction • Standard library for C language • Provides primitives for OS service • Hosted/freestanding • String manipulations • Types • I/O • Memory • APIs Linux Implementations • GNU C library (glibc) • uClibc • eglibc – Now merged into glibc • Dietlibc • Klibc • Musl • bionic Multiple C library FAQs • Can I have multiple C libraries side by side ? • Can programs compiled with glibc run on uclibc or vice versa ? • Are they functional compatible ? • Do I need to choose one over other if I am doing real time Linux? • I have a baremetal application what libc options do I have ? Posix Compliance • Posix specifies more than ISO C • Varying degree of compliance What matters to you ? • Code Size • Functionality • Interoperability • Licensing • Backward Compatibility • Variety of architecture support • Dynamic Linking • Build system Codesize • Dietlibc/klibc – Used in really small setup e.g. initramfs • Bionic – Small linked into every process • uClibc – Configurable • Size can be really small at the expense of functionality • Eglibc – Has option groups can be ( < 1M ) License • Bionic – BSD/Apache-2.0 • Musl - MIT • Uclibc – LGPL-2.1 • Eglibc/Glibc – LGPL-2.1 Assigned to FSF • Dietlibc – GPLv2 • Klibc – GPLv2 • Newlib – some parts are GPLv3 Compliance • Musl strives for ISO/C and POSIX compliance No-mmu • uClibc supported No-mmu Distributions • Glibc is used in
    [Show full text]
  • Embedded Linux Size Reduction Techniques
    Embedded Linux Conference 2017 Embedded Linux size reduction techniques Michael Opdenacker free electrons [email protected] free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 1/1 Michael Opdenacker I Michael Opdenacker I Founder and Embedded Linux engineer at free electrons I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Long time interest in embedded Linux boot time, and one of its prerequisites: small system size. I From Orange, France Penguin from Justin Ternet (https://openclipart.org/detail/182875/pinguin) free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 2/1 Why reduce size? There are multiple reasons for having a small kernel and system I Run on very small systems (IoT) I Run Linux as a bootloader I Boot faster (for example on FPGAs) I Reduce power consumption Even conceivable to run the whole system in CPU internal RAM or cache (DRAM is power hungry and needs refreshing) I Security: reduce the attack surface I Cloud workloads: optimize instances for size and boot time. I Spare as much RAM as possible for applications and maximizing performance. See https://tiny.wiki.kernel.org/use_cases free electrons - Embedded Linux, kernel, drivers - Development, consulting, training and support. http://free-electrons.com 3/1 Reasons for this talk I No talk about size since ELCE 2015 I Some projects stalled (Linux tinification, LLVM Linux...) I Opportunity to have a look at solutions I didn’t try: musl library, Toybox, gcc LTO, new gcc versions, compiling with Clang..
    [Show full text]
  • TM-Dietlibc: a TM-Aware Real-World System Library
    TM-dietlibc: A TM-aware Real-world System Library Vesna Smiljkovi´c∗, Martin Nowack†, Nebojˇsa Mileti´c∗◦, Tim Harris‡⋆, Osman Unsal¨ ∗, Adri´an Cristal∗, Mateo Valero∗ ∗Barcelona Supercomputing Center, Spain {vesna.smiljkovic, osman.unsal, adrian.cristal, mateo.valero}.bsc.es [email protected] †Technische Universitat¨ Dresden, Germany [email protected] ‡Oracle Labs, Cambridge, UK [email protected] Abstract—The simplicity of concurrent programming with that are easy to use by average programmers and that can Transactional Memory (TM) and its recent implementation assure proper multithreaded synchronization. Transactional in mainstream processors greatly motivates researchers and Memory (TM) [1], [2], either as a software (STM), a industry to investigate this field and propose new implementa- tions and optimizations. However, there is still no standard C hardware (HTM) or a hybrid (HyTM) implementation, has system library which a wide range of TM developers can adopt. been proposed as a solution to this issue. After dozens of TM TM application developers have been forced to avoid library implementations, several TM applications [3], [4], [5], [6] calls inside of transactions or to execute them irrevocably (i.e. and research on its fundamentals, a system library (a layer in serial order). In this paper, we present the first TM-aware between an operating system and an application) compatible system library, a complex software implementation integrated with TM principles and suited for software (STM), hardware with transactional memory is missing. (HTM) and hybrid TM (HyTM). Current TM implementations handle library code either The library we propose is derived from a modified lock- by marking it ineligible for execution in a transaction (and based implementation and can be used with the existing reporting an error if the library is invoked), or by using standard C API.
    [Show full text]
  • Buildroot: What’S New?
    Embedded Linux Conference 2018 Buildroot: what's new? Thomas Petazzoni [email protected] c Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. Formerly Free Electrons Corrections, suggestions, contributions and translations are welcome! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/31 Thomas Petazzoni I CTO and Embedded Linux engineer at Free Electrons ! Bootlin I Embedded Linux specialists. I Development, consulting and training. I https://bootlin.com I Contributions I Kernel support for the Marvell Armada ARM SoCs from Marvell I Major contributor to Buildroot, an open-source, simple and fast embedded Linux build system I Toulouse, south west of France I Windsurfing, snowboarding - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/31 I Who is already using Buildroot ? I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? I Who is using another build system ? Poll time I Who already knows about Buildroot ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? I Who is using another build system ? Poll time I Who already knows about Buildroot ? I Who is already using Buildroot ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 I Who is using OpenWRT / LEDE ? I Who is using another
    [Show full text]
  • Uclibc Today: Still Makes Sense
    uClibc today: Still makes sense Alexey Brodkin Embedded Linux Conference Europe 2017 © 2017 Synopsys, Inc. 1 Agenda What is uClibc Historical overview Current state Comparison to other libc’s Real life with uClibc What’s on the roadmap © 2017 Synopsys, Inc. 2 Busybox web-site: https://busybox.net/ Busybox git repository: Fun facts around uClibc git://git.busybox.net/busybox Did you know? Buildroot web-site: https://www.buildroot.org/ • Busybox was started before uClibc Buildroot git repository: git://git.busybox.net/buildroot • Buildroot was initially created as a testbed for uClibc • Buildroot & Busybox are much more popular than uClibc today Lede Project web-sire: https://lede-project.org/ • OpenWrt/Lede uses heavily modified Buildroot as its build Lede Project git repository: https://git.lede- system project.org/?p=source.git https://git.lede- • There's uClibc++ written by Garrett Kajmowicz which is still project.org/?p=openwrt/source.git;a= blob_plain;f=obsolete- used in OpenWrt/Lede by default with Musl & uClibc buildroot/README;hb=76d90c2ed2 ------------->8----------- • Buildroot, Busybox, uClibc++ & uClibc git repos are at This is a modified uClibc buildroot, customized to build OpenWRT. https://git.uclibc.org/ ------------->8----------- uClibc++ web-site: https://cxx.uclibc.org/ uClibc++ git repository: https://git.busybox.net/uClibc++ © 2017 Synopsys, Inc. 3 What is uClibc Compact C library for use with Linux kernel C library provides macros, type definitions and platform-specific implementation for standard functions. Standards: – POSIX – C11, C99 static unsigned int – System V res_randomid(void) { – XPG (X/Open Portability Guide), XSI (X/Open System Interface) return 0xffff & getpid(); } int res_init(): res_init(void) getpid() { fstatat64(AT_FDCWD, "/etc/resolv.conf"...) = 0 … openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY) = 3 _res.id = res_randomid(); read(3, ""..., 4096) = 103 read(3, "", 4096) = 0 close(3) = 0 © 2017 Synopsys, Inc.
    [Show full text]