Merge GitHub PR#3.
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 22 Dec 2016 21:48:53 +0000 (22:48 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 22 Dec 2016 21:48:53 +0000 (22:48 +0100)
* Build environment and build fixes for NixOS
* can build working build environment through nix package manager
  (cf.  https://nixos.org/nix/about.html)

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

1  2 
hake/Main.hs
hake/RuleDefs.hs
hake/X86_64.hs
hake/hake.sh
hake/symbolic_targets.mk
kernel/arch/x86/misc.c
tools/qemu-wrapper.sh

diff --cc hake/Main.hs
@@@ -86,8 -96,8 +88,10 @@@ parse_arguments ("--source-dir" : s : t
    (parse_arguments t) { opt_sourcedir = s }
  parse_arguments ("--bfsource-dir" : s : t) =  
    (parse_arguments t) { opt_bfsourcedir = s }
 +parse_arguments ("--build-dir" : s : t) =
 +  (parse_arguments t) { opt_builddir = s }
+ parse_arguments ("--ghc-libdir" : (s : t)) =
+   (parse_arguments t) { opt_ghc_libdir = s }
  parse_arguments ("--output-filename" : s : t) =
    (parse_arguments t) { opt_makefilename = s }
  parse_arguments ("--quiet" : t ) = 
@@@ -679,8 -676,8 +685,9 @@@ makeHakeDeps h o l = d
                      ( [ hake, 
                          Str "--source-dir", Str (opt_sourcedir o),
                          Str "--install-dir", Str (opt_installdir o),
 +                        Str "--bfsource-dir", Str (opt_bfsourcedir o),
-                         Str "--output-filename", makefile
+                         Str "--output-filename", makefile,
+                         Str "--ghc-libdir", Str (opt_ghc_libdir o)
                        ] ++
                        [ Dep SrcTree "root" h | h <- l ]
                      )
Simple merge
diff --cc hake/X86_64.hs
Simple merge
diff --cc hake/hake.sh
Simple merge
Simple merge
@@@ -47,3 -119,21 +47,13 @@@ wait_cycles(uint64_t duration
          last = now;
      }
  }
+ /**
 - * Kernel trace buffer
 - */
 -lvaddr_t kernel_trace_buf = 0;
 -
 -struct trace_application kernel_trace_boot_applications[TRACE_MAX_BOOT_APPLICATIONS];
 -int kernel_trace_num_boot_applications = 0;
 -
 -/**
+  * Stack protection handler
+  */
+ void __stack_chk_fail(void); // Existence implied by (certainly configured) GCC.
+ void __stack_chk_fail (void)
+ {
+     panic("finally reached __stack_chk_fail()");
+ }
@@@ -305,12 -317,13 +305,14 @@@ els
          -pidfile $PIDFILE"
  fi
  
 +echo $QEMU_INVOCATION
+ set -x
  eval $QEMU_INVOCATION
  
- if [ $? -eq 0 ] ; then
+ if test $? -eq 0; then
      stty sane
-     trap '' SIGINT
+     trap '' INT
      ${GDB} -x barrelfish_debug.gdb ${GDB_ARGS}
      PID=`cat ${PIDFILE}`
      kill ${PID} > /dev/null || true