| OLD | NEW |
| (Empty) |
| 1 #!/bin/bash | |
| 2 | |
| 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | |
| 4 # Use of this source code is governed by a BSD-style license that can be | |
| 5 # found in the LICENSE file. | |
| 6 | |
| 7 # Debug a 32 bit binary on 64 bit linux. Can be run from inside or outside | |
| 8 # the chroot. If inside, then the 32 bit gdb from the chroot is used, otherwise | |
| 9 # the system's 64 bit gdb is used. | |
| 10 | |
| 11 . "$(dirname "$0")/common.sh" | |
| 12 | |
| 13 # Command line options | |
| 14 DEFINE_string chroot "$DEFAULT_CHROOT_DIR" "Location of chroot" | |
| 15 | |
| 16 # Parse command line and update positional args | |
| 17 FLAGS "$@" || exit 1 | |
| 18 eval set -- "${FLAGS_ARGV}" | |
| 19 | |
| 20 # Die on any errors | |
| 21 set -e | |
| 22 | |
| 23 if [ -z "$SYSROOT" ]; then | |
| 24 if [ $INSIDE_CHROOT == 1 ]; then | |
| 25 SYSROOT=/build/x86-generic | |
| 26 else | |
| 27 SYSROOT=$FLAGS_chroot/build/x86-generic | |
| 28 fi | |
| 29 fi | |
| 30 | |
| 31 if [ -z "$CHOST" ]; then | |
| 32 CHOST="x86-generic" | |
| 33 fi | |
| 34 | |
| 35 SYSROOT="$FLAGS_chroot/build/$CHOST" | |
| 36 LIB_PATHS="/lib32:/usr/lib32:$LIB_PATHS:$SYSROOT/usr/lib:$SYSROOT/lib:." | |
| 37 LIB_PATHS="$LIB_PATHS:$SYSROOT/opt/google/chrome/chromeos" | |
| 38 | |
| 39 if [ $INSIDE_CHROOT == 1 ]; then | |
| 40 # if we're inside the chroot, the we'll be running a 32 bit gdb, so we'll | |
| 41 # need the same library path as the target | |
| 42 export LD_LIBRARY_PATH=$LIB_PATHS | |
| 43 GDB="$SYSROOT/usr/bin/gdb" | |
| 44 else | |
| 45 GDB="gdb" | |
| 46 fi | |
| 47 | |
| 48 exec $GDB \ | |
| 49 --eval-command "set environment LD_LIBRARY_PATH=$LIB_PATHS" \ | |
| 50 --eval-command "set sysroot $SYSROOT " \ | |
| 51 --eval-command "set prompt (cros-gdb) " \ | |
| 52 --args "$@" | |
| OLD | NEW |