OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [gdb/] [filesystem.c] - Blame information for rev 841

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
/* Handle different target file systems for GDB, the GNU Debugger.
2
 
3
   Copyright (C) 2010 Free Software Foundation, Inc.
4
 
5
   This file is part of GDB.
6
 
7
   This program is free software; you can redistribute it and/or modify
8
   it under the terms of the GNU General Public License as published by
9
   the Free Software Foundation; either version 3 of the License, or
10
   (at your option) any later version.
11
 
12
   This program is distributed in the hope that it will be useful,
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   GNU General Public License for more details.
16
 
17
   You should have received a copy of the GNU General Public License
18
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
 
20
#include "defs.h"
21
#include "filesystem.h"
22
#include "gdbarch.h"
23
#include "gdbcmd.h"
24
 
25
const char file_system_kind_auto[] = "auto";
26
const char file_system_kind_unix[] = "unix";
27
const char file_system_kind_dos_based[] = "dos-based";
28
const char *target_file_system_kinds[] =
29
{
30
  file_system_kind_auto,
31
  file_system_kind_unix,
32
  file_system_kind_dos_based,
33
  NULL
34
};
35
const char *target_file_system_kind = file_system_kind_auto;
36
 
37
const char *
38
effective_target_file_system_kind (void)
39
{
40
  if (target_file_system_kind == file_system_kind_auto)
41
    {
42
      if (gdbarch_has_dos_based_file_system (target_gdbarch))
43
        return file_system_kind_dos_based;
44
      else
45
        return file_system_kind_unix;
46
    }
47
  else
48
    return target_file_system_kind;
49
}
50
 
51
const char *
52
target_lbasename (const char *kind, const char *name)
53
{
54
  if (kind == file_system_kind_dos_based)
55
    return dos_lbasename (name);
56
  else
57
    return unix_lbasename (name);
58
}
59
 
60
static void
61
show_target_file_system_kind_command (struct ui_file *file,
62
                                      int from_tty,
63
                                      struct cmd_list_element *c,
64
                                      const char *value)
65
{
66
  if (target_file_system_kind == file_system_kind_auto)
67
    fprintf_filtered (file, _("\
68
The assumed file system kind for target reported file names \
69
is \"%s\" (currently \"%s\").\n"),
70
                      value,
71
                      effective_target_file_system_kind ());
72
  else
73
    fprintf_filtered (file, _("\
74
The assumed file system kind for target reported file names \
75
is \"%s\".\n"),
76
                      value);
77
}
78
 
79
/* Provide a prototype to silence -Wmissing-prototypes.  */
80
extern initialize_file_ftype _initialize_filesystem;
81
 
82
void
83
_initialize_filesystem (void)
84
{
85
  add_setshow_enum_cmd ("target-file-system-kind",
86
                        class_files,
87
                        target_file_system_kinds,
88
                        &target_file_system_kind, _("\
89
Set assumed file system kind for target reported file names"), _("\
90
Show assumed file system kind for target reported file names"),
91
                        _("\
92
If `unix', target file names (e.g., loaded shared library file names)\n\
93
starting the forward slash (`/') character are considered absolute,\n\
94
and the directory separator character is the forward slash (`/').  If\n\
95
`dos-based', target file names starting with a drive letter followed\n\
96
by a colon (e.g., `c:'), are also considered absolute, and the\n\
97
backslash (`\\') is also considered a directory separator.  Set to\n\
98
`auto' (which is the default), to let GDB decide, based on its\n\
99
knowledge of the target operating system."),
100
                        NULL, /* setfunc */
101
                        show_target_file_system_kind_command,
102
                        &setlist, &showlist);
103
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.