#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void do_help(void) {
  printf("start-stop-daemon for Debian Linux - small and fast C version "
         "written by\nMarek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, "
         "public domain.\n"
         "version 0.3, 1996-06-05"
         "\n \n Usage:     start-stop-daemon -S|--start options ... -- "
         "arguments ...\n     start-stop-daemon -K|--stop options ...\n     "
         "start-stop-daemon -H|--help\n     start-stop-daemon -V|--version\n "
         "\n Options (at least one of --exec|--pidfile|--user is required):    "
         " -x|--exec <executable>       program to start/check if it is "
         "running\n    -p|--pidfile <pid-file>      pid file to check\n    "
         "-u|--user <username>|<uid>   stop this user's processes\n    "
         "-n|--name <process-name>     stop processes with this name\n    "
         "-s|--signal <signal>         signal to send (default 15)\n    "
         "-a|--startas <pathname>      program to start (default "
         "<executable>)\n    -t|--test                    test mode, don't do "
         "anything\n    -o|--oknodo                  exit status 0 (not 1) if "
         "nothing done\n    -q|--quiet  |  -v, --verbose\n\nExit status:  0 = "
         "done  1 = nothing done (=> 0 if --oknodo)  2 = trouble\n");
}


x86 assembly (clang, -O0):
<do_help>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<do_help>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [1043 x i8] c"start-stop-daemon for Debian Linux - small and fast C version written by\0AMarek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, public domain.\0Aversion 0.3, 1996-06-05\0A \0A Usage: start-stop-daemon -S|--start options ... -- arguments ...\0A start-stop-daemon -K|--stop options ...\0A start-stop-daemon -H|--help\0A start-stop-daemon -V|--version\0A \0A Options (at least one of --exec|--pidfile|--user is required): -x|--exec <executable> program to start/check if it is running\0A -p|--pidfile <pid-file> pid file to check\0A -u|--user <username>|<uid> stop this user's processes\0A -n|--name <process-name> stop processes with this name\0A -s|--signal <signal> signal to send (default 15)\0A -a|--startas <pathname> program to start (default <executable>)\0A -t|--test test mode, don't do anything\0A -o|--oknodo exit status 0 (not 1) if nothing done\0A -q|--quiet | -v, --verbose\0A\0AExit status: 0 = done 1 = nothing done (=> 0 if --oknodo) 2 = trouble\0A\00"
define void @do_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1043 x i8], [1043 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1042 x i8] c"start-stop-daemon for Debian Linux - small and fast C version written by\0AMarek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, public domain.\0Aversion 0.3, 1996-06-05\0A \0A Usage: start-stop-daemon -S|--start options ... -- arguments ...\0A start-stop-daemon -K|--stop options ...\0A start-stop-daemon -H|--help\0A start-stop-daemon -V|--version\0A \0A Options (at least one of --exec|--pidfile|--user is required): -x|--exec <executable> program to start/check if it is running\0A -p|--pidfile <pid-file> pid file to check\0A -u|--user <username>|<uid> stop this user's processes\0A -n|--name <process-name> stop processes with this name\0A -s|--signal <signal> signal to send (default 15)\0A -a|--startas <pathname> program to start (default <executable>)\0A -t|--test test mode, don't do anything\0A -o|--oknodo exit status 0 (not 1) if nothing done\0A -q|--quiet | -v, --verbose\0A\0AExit status: 0 = done 1 = nothing done (=> 0 if --oknodo) 2 = trouble\00"
define void @do_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1042 x i8], [1042 x i8]* @str, i64 0, i64 0))
ret void
}