Submit Search
Upload
gcc and friends
•
2 likes
•
14,479 views
Anil Kumar Pugalia
Follow
GNU C Compiler and its binary utility friends like as, ld, ...
Read less
Read more
Technology
Report
Share
Report
Share
1 of 11
Recommended
Board Bringup
Board Bringup
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
USB Drivers
USB Drivers
Anil Kumar Pugalia
Linux Audio Drivers. ALSA
Linux Audio Drivers. ALSA
GlobalLogic Ukraine
Uboot startup sequence
Uboot startup sequence
Houcheng Lin
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
Reliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on Linux
Samsung Open Source Group
Recommended
Board Bringup
Board Bringup
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
USB Drivers
USB Drivers
Anil Kumar Pugalia
Linux Audio Drivers. ALSA
Linux Audio Drivers. ALSA
GlobalLogic Ukraine
Uboot startup sequence
Uboot startup sequence
Houcheng Lin
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
Reliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on Linux
Samsung Open Source Group
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Anne Nicolas
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
Bootloaders
Bootloaders
Anil Kumar Pugalia
Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
Linux Porting
Linux Porting
Anil Kumar Pugalia
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
BusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
I2c drivers
I2c drivers
pradeep_tewani
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
SUSE Labs Taipei
What is Bootloader???
What is Bootloader???
Dinesh Damodar
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
LCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
Linaro
U boot-boot-flow
U boot-boot-flow
BabuSubashChandar Chandra Mohan
Toolchain
Toolchain
Anil Kumar Pugalia
Linux SD/MMC device driver
Linux SD/MMC device driver
艾鍗科技
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
Embedded C
Embedded C
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
More Related Content
What's hot
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Anne Nicolas
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
Bootloaders
Bootloaders
Anil Kumar Pugalia
Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
Linux Porting
Linux Porting
Anil Kumar Pugalia
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
BusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
I2c drivers
I2c drivers
pradeep_tewani
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
SUSE Labs Taipei
What is Bootloader???
What is Bootloader???
Dinesh Damodar
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
LCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
Linaro
U boot-boot-flow
U boot-boot-flow
BabuSubashChandar Chandra Mohan
Toolchain
Toolchain
Anil Kumar Pugalia
Linux SD/MMC device driver
Linux SD/MMC device driver
艾鍗科技
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
What's hot
(20)
U Boot or Universal Bootloader
U Boot or Universal Bootloader
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
U-Boot - An universal bootloader
U-Boot - An universal bootloader
Bootloaders
Bootloaders
Bootloaders (U-Boot)
Bootloaders (U-Boot)
Linux Porting
Linux Porting
I2C Drivers
I2C Drivers
BusyBox for Embedded Linux
BusyBox for Embedded Linux
Audio Drivers
Audio Drivers
I2c drivers
I2c drivers
U boot porting guide for SoC
U boot porting guide for SoC
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
What is Bootloader???
What is Bootloader???
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
BeagleBone Black Booting Process
BeagleBone Black Booting Process
LCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
U boot-boot-flow
U boot-boot-flow
Toolchain
Toolchain
Linux SD/MMC device driver
Linux SD/MMC device driver
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Viewers also liked
Embedded C
Embedded C
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
Block Drivers
Block Drivers
Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Serial Drivers
Serial Drivers
SysPlay eLearning Academy for You
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Network Drivers
Network Drivers
Anil Kumar Pugalia
Interrupts
Interrupts
Anil Kumar Pugalia
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
Platform Drivers
Platform Drivers
SysPlay eLearning Academy for You
Character Drivers
Character Drivers
Anil Kumar Pugalia
File Systems
File Systems
Anil Kumar Pugalia
Viewers also liked
(15)
Embedded C
Embedded C
References
References
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Introduction to Linux Drivers
Introduction to Linux Drivers
Block Drivers
Block Drivers
File System Modules
File System Modules
Serial Drivers
Serial Drivers
PCI Drivers
PCI Drivers
Network Drivers
Network Drivers
Interrupts
Interrupts
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
Platform Drivers
Platform Drivers
Character Drivers
Character Drivers
File Systems
File Systems
Similar to gcc and friends
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005
Saleem Ansari
Porting To Symbian
Porting To Symbian
Mark Wilcox
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
JunZhao68
From gcc to the autotools
From gcc to the autotools
Thierry Gayet
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
corehard_by
GCC
GCC
Anshul Sharma
Userspace drivers-2016
Userspace drivers-2016
Chris Simmonds
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
ryancox
Challenges in GPU compilers
Challenges in GPU compilers
AnastasiaStulova
C# Production Debugging Made Easy
C# Production Debugging Made Easy
Alon Fliess
Embedding Qt
Embedding Qt
FSCONS
C Under Linux
C Under Linux
mohan43u
Advance Android Application Development
Advance Android Application Development
Ramesh Prasad
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Alexandre Moneger
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
Abhishek lingineni
Abhishek lingineni
abhishekl404
CPlusPus
CPlusPus
rasen58
#Include os - From bootloader to REST API with the new C++
#Include os - From bootloader to REST API with the new C++
IncludeOS
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02 Software Development
Anh Dung NGUYEN
Creating a Plug-In Architecture
Creating a Plug-In Architecture
ondrejbalas
Similar to gcc and friends
(20)
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005
Porting To Symbian
Porting To Symbian
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
3 Open-Source-SYCL-Intel-Khronos-EVS-Workshop_May19.pdf
From gcc to the autotools
From gcc to the autotools
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
GCC
GCC
Userspace drivers-2016
Userspace drivers-2016
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Challenges in GPU compilers
Challenges in GPU compilers
C# Production Debugging Made Easy
C# Production Debugging Made Easy
Embedding Qt
Embedding Qt
C Under Linux
C Under Linux
Advance Android Application Development
Advance Android Application Development
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Abhishek lingineni
Abhishek lingineni
CPlusPus
CPlusPus
#Include os - From bootloader to REST API with the new C++
#Include os - From bootloader to REST API with the new C++
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02 Software Development
Creating a Plug-In Architecture
Creating a Plug-In Architecture
More from Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Timers
Timers
Anil Kumar Pugalia
Threads
Threads
Anil Kumar Pugalia
More from Anil Kumar Pugalia
(20)
File System Modules
File System Modules
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Processes
Processes
System Calls
System Calls
Introduction to Linux
Introduction to Linux
Embedded Software Design
Embedded Software Design
Playing with R L C Circuits
Playing with R L C Circuits
Video Drivers
Video Drivers
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Shell Scripting
Shell Scripting
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Linux Network Management
Linux Network Management
System Calls
System Calls
Timers
Timers
Threads
Threads
Recently uploaded
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
BkGupta21
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
HarshalMandlekar2
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Recently uploaded
(20)
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
gcc and friends
1.
© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. gcc & Friends
2.
2© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? What is 'gcc'? Internals of 'gcc' How to use 'gcc'? Friends of 'gcc'
3.
3© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What is 'gcc'? GNU C Compiler Open Source Compiler for C & C++ Along with standard headers & libraries Rather a collection of tools Corresponding to various compiler stages Various other compilers built using it Cross Compilers for different architectures
4.
4© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. 'gcc': Internals Decoded Pre Processor ICG (machine independent) ICG (machine dependent) Assembler (as) Linker (ld) .c .i IC(parse trees, ...) .S .o .exe gcc core gcc wrapper gcc -S gcc -c gcc gcc -E
5.
5© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Using GNU C Compiler gcc file.c → Creates the executable a.out gcc file.c -o file gcc -E file.c → Pre-process only gcc -S file.c → Generate assembly code gcc -c file.c → Create object code gcc -I<hdrs_path> file.c gcc -L<libs_path> file.c -l<lib> gcc -D<define> file.c gcc -On file.c, n = 0, 1, 2, 3, s, fast, g gcc -M file.c gcc -MM file.c gcc -T <linker_script> file.c gcc -Wl,<linker_option> file.c ... (including many architecture specific flags)
6.
6© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Default Compiler Defines Trick to find out (#gcc #define) gcc -E -dM -xc /dev/null | sort Also gcc -E -dM -xc++ /dev/null | sort gcc -E -dM -xc++ -std=c++0x /dev/null | sort
7.
7© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Standard Paths Standard Headers Path: /usr/include/ Standard Libraries Path: /usr/lib/ Library Prefix: lib Standard Headers stdio.h, strings.h, math.h, ... Standard Libraries libc, libm, … Where is the code of printf?
8.
8© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Friends of 'gcc' Preprocessor: cpp Assembler: as Linker: ld Name Lister: nm Disassembler: objdump Archiver: ar Print strings from files: strings ...
9.
9© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What all have we learnt? gcc: GNU C Compiler Standard Headers & Libraries Collection of tools Usage of 'gcc' Friends of 'gcc'
10.
10© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?
11.
11© 2010-15 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Advanced Topics Shared library vs Archive Linking, Library Function Call, ... Defining your own headers Creating a shared library Creating an archive