Skip to content

Instantly share code, notes, and snippets.

o11c

Block or report user

Report or block o11c

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View readme.md

First, some notes:

  • Last checked for manpages-5.04 and linux-5.4, on Debian.
  • /proc/net is still used for documentation purposes, despite now being a symlink to /proc/self/net/
  • /proc/[pid]/task/[tid]/* is documented as including all of /proc/[pid]/* but this is not actually the case
  • Some files are actually documented in other man pages. But proc(5) needs to still mentions them (possibly just the containing directory though).
  • Some files are actually documented in the kernel's Documentation/ tree (but that also is incomplete). Even if proc(5) mentions that, this is suboptimal. Further, many links to Documentation/ are broken since a recent reorganization.
  • The /proc/sys/net/ reference is quite vague, and incomplete besides.
  • - means the file exists but is not documented
  • + means either it is documented but does not exist, or it exists but its contents are not documented
  • I've remove some clutter by hand and added a few notes.
View dice-approx10.txt
<ChancyValue:
0.0000000000% chance of: 104
0.0000000000% chance of: 105
0.0000000000% chance of: 106
0.0000000000% chance of: 107
0.0000000000% chance of: 108
0.0000000000% chance of: 109
0.0000000000% chance of: 110
0.0000000000% chance of: 111
0.0000000000% chance of: 112
View fix-paths.sh
# Significant care is taken to be sh-compatible; if bash or zsh could be
# required, it could be made simpler or more generic.
# Known source'rs:
# ~/.profile
# ~/.zshrc
# ~/.xprofile
# ~/.xsessionrc
# ~/.bashrc
# ~/.config/plasma-workspace/env/*.sh
View ownership.md

List of intended memory-management policies:

modifiers:

  • nomove
  • singlethread (avoid atomic operations - is this actually ever worth it?)
  • unless_singleton - allow dereferencing the special object at the head of a linked list
  • mostlyonethread (has an owner, others have to pay a toll to access)
  • variant<policy1, policy2> e.g. "maybe shared, maybe borrowed"
View NS-HOWTO.txt
How to create privilegeless (only util-linux and shadow-utils) chroots.
FOR LINUX HOSTS ONLY!
On some machine with real root (or in a VM):
1. preferably, install an apt proxy, such as apt-cacher-ng
2. run debootstrap (or equivalent) as real root (or see if fakeroot works?)
3. delete the device files under /dev
4. create a tarball using --numeric-owner (VERY IMPORTANT)
View dispatch.c
#define REALLY_JOIN(a, b) a##b
#define JOIN(a, b) REALLY_JOIN(a, b)
#define ARG_16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, ...) a15
#define COUNT(...) ARG_16(__VA_ARGS__, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
#define FOO(...) JOIN(FOO_, COUNT(__VA_ARGS__))(__VA_ARGS__)
#include <stdio.h>
View opts.cpp
struct Options
{
bool debug_events;
bool dump;
bool hello;
bool info;
const char *output;
Options()
{
View cacher.py
# Copyright © 2017 Ben Longbons
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
View gist:4816f4942a0f382d965960aafc6b010b
/usr/lib/gcc/x86_64-linux-gnu/7/collect2
-plugin
/usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
-plugin-opt=-fresolution=/tmp/cc1vmx7H.res
-plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc
@o11c
o11c / gdb-init-order.diff
Created May 15, 2017
Draft at fixing the `tty` bug
View gdb-init-order.diff
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 2a5b128d56..618640cffe 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1710,6 +1710,11 @@ void
_initialize_cli_cmds (void)
{
struct cmd_list_element *c;
+ /* Called more than once due to ordering dependencies. */
+ static bool initialized = false;
You can’t perform that action at this time.