-
The Linux Programming Interface by Michael Kerrisk: Chapter-41 and Chapter-42 will give you a general idea about Linking, shared libraries, PIC, Dynamic Linking etc. from a programmer's perspective.
-
Computer SystemsA Programmer’s Perspective: Chapter-7 covers above mentioned topic more deeply. Covers some basic relocation algorithms/techniques.
-
Linking: A good summery on ELF Lining, Loading and creating dynamic shared libraries.
-
Shared libraries with GCC on Linux: Nice article on creating and using shared libraries with example.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| * Run the program | |
| gdb$ r arg1 arg2 ... # Run program until it hits a breakpoint | |
| * Environment variable | |
| gdb$ set environment VAR=VALUE | |
| gdb$ unset environment VAR | |
| gdb$ show environmet # Show all environment variable | |
| gdb$ show environment VAR # Show environment variable VAR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Remap prefix from c-b to c-space | |
| unbind C-b | |
| set-option -g prefix C-Space | |
| bind-key C-Space send-prefix | |
| # Open tmux config file in vim new window | |
| unbind e | |
| bind e new-window -n '~/.tmux.conf' "sh -c 'vim ~/.tmux.conf' && tmux source ~/.tmux.con" | |
| # Modern colors |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| !-------- Xterm Terminal Settings {{{ | |
| !------------------------------------------------------ | |
| ! https://wiki.archlinux.org/index.php/Xterm | |
| ! https://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html | |
| ! http://www.futurile.net/2016/06/14/xterm-setup-and-truetype-font-configuration/ | |
| ! http://www.futurile.net/2016/06/15/xterm-256color-themes-molokai-terminal-theme/ | |
| ! Allow xterm to report the TERM variable correctly. | |
| ! Do not set the TERM variable from your ~/.bashrc or ~/.bash_profile or similar file. | |
| ! The terminal itself should report the correct TERM to the system so that the proper terminfo file will be used. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This file has been auto-generated by i3-config-wizard(1). | |
| # It will not be overwritten, so edit it as you like. | |
| # | |
| # Should you change your keyboard layout some time, delete | |
| # this file and re-run i3-config-wizard(1). | |
| # | |
| # i3 config file (v4) | |
| # | |
| # Please see https://i3wm.org/docs/userguide.html for a complete reference! |
- Assembly programming guide: Intro level guide on x86 assembly.
- computer systems a programmer's perspective: Chapter 3 covers x86 assembly programming.
- x86-64Machine-Level Programming: A detailed guide on x86_64 assembly programming by prof. Bryant and Hallaron.
- x86-64 Assembly Language Programming with Ubuntu: Book on x86_64 assembly programming.
- [This document gives a brief summary of the x86-64 architecture and instruction set](https://web.archive.org/web/20200502094406/https://www.lri.fr/~filliatr/ens/compil/x86-6
- BOLT: A Practical Binary Optimizer for Data Centers and Beyond
- Optimizing Function Placement for Large-Scale Data-Center Applications
- AutoFDO: Automatic Feedback-DirectedOptimization for Warehouse-Scale Applications
- HHVM JIT: A Profile-Guided, Region-Based Compilerfor PHP and Hack
- Branch Prediction for Free
- Static Branch Frequency and Program Profile Analysis
- [Profile Guided Context-Sensitive Progr
- Effective tools for computer systems research: A must read book for new phd students by Philipp Winter
- Why Can't I Reproduce Their Results?: What I Wish I Knew as a Graduate Student by Daniel Holden
- Advice to a Beginning Graduate Student: Great advices by Prof. Manuel Blum.
- CS298 Research Culture And Community Norms: A course on research.
- Discussion On Ph.D. thesis proposals in computing science
- What’s hard about grad school?
- [The importance of stupidity in scientific research](https://journals.biologists.com/jcs/article/121/11/1771/30038/The-importance-of-stupidity-in-scient
- Perf - Perfect Profiling of C/C++ on Linux : Good intro
- Official perf tutotial
- perf examples by Brendan Gregg
- How perf works by Julia Evans
- A Study of Performance Monitoring Unit, perfand perf_eventssubsystem
- Hardware-Based Performance Monitoring with Perf
- How to analyze your system with perf and Python
- An introduction to last branch records
- [perf file format](https://web.archive.org/web/20201013205801/https://openlab-mu-internal.web.cern
Lex rule for generating lexical analyzer to match US phone numbers.
%{
int isValid = 0;
%}
digit [0-9]
valid {digit}{3,3}-{digit}{3,3}-{digit}{4,4}