Mercurial > repo
changeset 2660:a52927edc8be
<kmc> mv gccrun bin/ && chmod +x bin/gccrun
author | HackBot |
---|---|
date | Sat, 13 Apr 2013 23:59:51 +0000 |
parents | 7d8769931924 |
children | db621d36b3be |
files | bin/gccrun gccrun |
diffstat | 2 files changed, 48 insertions(+), 48 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/gccrun Sat Apr 13 23:59:51 2013 +0000 @@ -0,0 +1,48 @@ +#!/bin/sh + +if [ "$#" = 0 ]; then + echo "usage: $0 [-w wrapper] <C code...>" >&2 + exit 1 +fi + +if [ "$1" = -w ]; then + wrapper="$2" + shift 2 +fi + +f=$(mktemp -d -t gccrun.XXXXXXXX) || exit 1 +cat > "$f/command.c" << EOF +#define _GNU_SOURCE +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/mman.h> +#include <sys/ptrace.h> +#include <sys/syscall.h> +#include <arpa/inet.h> +#include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +int +main(int argc, char *argv[], char *envp[]) +{ + $1; + return 0; +} +EOF +shift +if ! gcc -o "$f/command" "$f/command.c" $@; then + exit 1 +fi +if [ -n "$wrapper" ]; then + $wrapper "$f/command" +else + "$f/command" +fi +r=$? +rm -r "$f" +exit $r \ No newline at end of file
--- a/gccrun Sat Apr 13 23:59:36 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -#!/bin/sh - -if [ "$#" = 0 ]; then - echo "usage: $0 [-w wrapper] <C code...>" >&2 - exit 1 -fi - -if [ "$1" = -w ]; then - wrapper="$2" - shift 2 -fi - -f=$(mktemp -d -t gccrun.XXXXXXXX) || exit 1 -cat > "$f/command.c" << EOF -#define _GNU_SOURCE -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/mman.h> -#include <sys/ptrace.h> -#include <sys/syscall.h> -#include <arpa/inet.h> -#include <errno.h> -#include <fcntl.h> -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -int -main(int argc, char *argv[], char *envp[]) -{ - $1; - return 0; -} -EOF -shift -if ! gcc -o "$f/command" "$f/command.c" $@; then - exit 1 -fi -if [ -n "$wrapper" ]; then - $wrapper "$f/command" -else - "$f/command" -fi -r=$? -rm -r "$f" -exit $r \ No newline at end of file