From: Richard W.M. Jones <"Richard W.M. Jones "> Date: Thu, 11 Sep 2008 14:48:23 +0000 (+0100) Subject: Initial RPM of gdb. X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=4b3e82cf20a9374a8554592ae99da7fcd54d76be;p=fedora-mingw.git Initial RPM of gdb. --- diff --git a/gdb/mingw-gdb-6.8-no-getcwd-error.patch b/gdb/mingw-gdb-6.8-no-getcwd-error.patch new file mode 100644 index 0000000..73a2b35 --- /dev/null +++ b/gdb/mingw-gdb-6.8-no-getcwd-error.patch @@ -0,0 +1,143 @@ +diff -ur gdb-6.8.orig/gdb/cli/cli-cmds.c gdb-6.8/gdb/cli/cli-cmds.c +--- gdb-6.8.orig/gdb/cli/cli-cmds.c 2008-01-01 22:53:14.000000000 +0000 ++++ gdb-6.8/gdb/cli/cli-cmds.c 2008-09-11 15:37:27.000000000 +0100 +@@ -318,9 +318,10 @@ + static void + pwd_command (char *args, int from_tty) + { ++ char * r; + if (args) + error (_("The \"pwd\" command does not take an argument: %s"), args); +- getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); ++ r = getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); (void) r; + + if (strcmp (gdb_dirbuf, current_directory) != 0) + printf_unfiltered (_("Working directory %s\n (canonically %s).\n"), +diff -ur gdb-6.8.orig/gdb/inflow.c gdb-6.8/gdb/inflow.c +--- gdb-6.8.orig/gdb/inflow.c 2008-01-01 22:53:11.000000000 +0000 ++++ gdb-6.8/gdb/inflow.c 2008-09-11 15:41:47.000000000 +0100 +@@ -513,6 +513,7 @@ + new_tty (void) + { + int tty; ++ int r; + + if (inferior_thisrun_terminal == 0) + return; +@@ -545,17 +546,17 @@ + if (tty != 0) + { + close (0); +- dup (tty); ++ r = dup (tty); (void) r; + } + if (tty != 1) + { + close (1); +- dup (tty); ++ r = dup (tty); (void) r; + } + if (tty != 2) + { + close (2); +- dup (tty); ++ r = dup (tty); (void) r; + } + if (tty > 2) + close (tty); +diff -ur gdb-6.8.orig/gdb/main.c gdb-6.8/gdb/main.c +--- gdb-6.8.orig/gdb/main.c 2008-01-05 16:49:53.000000000 +0000 ++++ gdb-6.8/gdb/main.c 2008-09-11 15:38:55.000000000 +0100 +@@ -116,6 +116,7 @@ + static int + captured_main (void *data) + { ++ char *__r; + struct captured_main_args *context = data; + int argc = context->argc; + char **argv = context->argv; +@@ -188,7 +189,7 @@ + line[0] = '\0'; /* Terminate saved (now empty) cmd line */ + instream = stdin; + +- getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); ++ __r = getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); (void) __r; + current_directory = gdb_dirbuf; + + gdb_stdout = stdio_fileopen (stdout); +diff -ur gdb-6.8.orig/gdb/mi/mi-cmd-env.c gdb-6.8/gdb/mi/mi-cmd-env.c +--- gdb-6.8.orig/gdb/mi/mi-cmd-env.c 2008-01-01 22:53:14.000000000 +0000 ++++ gdb-6.8/gdb/mi/mi-cmd-env.c 2008-09-11 15:37:54.000000000 +0100 +@@ -67,6 +67,7 @@ + enum mi_cmd_result + mi_cmd_env_pwd (char *command, char **argv, int argc) + { ++ char *r; + if (argc > 0) + error (_("mi_cmd_env_pwd: No arguments required")); + +@@ -78,7 +79,7 @@ + + /* Otherwise the mi level is 2 or higher. */ + +- getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); ++ r = getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); (void) r; + ui_out_field_string (uiout, "cwd", gdb_dirbuf); + + return MI_CMD_DONE; +Only in gdb-6.8/gdb: observer.inc +diff -ur gdb-6.8.orig/gdb/top.c gdb-6.8/gdb/top.c +--- gdb-6.8.orig/gdb/top.c 2008-01-01 22:53:13.000000000 +0000 ++++ gdb-6.8/gdb/top.c 2008-09-11 15:40:08.000000000 +0100 +@@ -1623,12 +1623,13 @@ + void + gdb_init (char *argv0) + { ++ char *r; + if (pre_init_ui_hook) + pre_init_ui_hook (); + + /* Run the init function of each source file */ + +- getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); ++ r = getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)); (void) r; + current_directory = gdb_dirbuf; + + #ifdef __MSDOS__ +diff -ur gdb-6.8.orig/gdb/ui-file.c gdb-6.8/gdb/ui-file.c +--- gdb-6.8.orig/gdb/ui-file.c 2008-01-01 22:53:13.000000000 +0000 ++++ gdb-6.8/gdb/ui-file.c 2008-09-11 15:41:05.000000000 +0100 +@@ -477,11 +477,12 @@ + static void + stdio_file_write (struct ui_file *file, const char *buf, long length_buf) + { ++ int r; + struct stdio_file *stdio = ui_file_data (file); + if (stdio->magic != &stdio_file_magic) + internal_error (__FILE__, __LINE__, + _("stdio_file_write: bad magic number")); +- fwrite (buf, length_buf, 1, stdio->file); ++ r = fwrite (buf, length_buf, 1, stdio->file); (void) r; + } + + static void +diff -ur gdb-6.8.orig/gdb/utils.c gdb-6.8/gdb/utils.c +--- gdb-6.8.orig/gdb/utils.c 2008-01-01 22:53:13.000000000 +0000 ++++ gdb-6.8/gdb/utils.c 2008-09-11 15:40:43.000000000 +0100 +@@ -689,6 +689,7 @@ + int quit_p; + int dump_core_p; + char *reason; ++ int r; + + /* Don't allow infinite error/warning recursion. */ + { +@@ -704,7 +705,7 @@ + abort (); /* NOTE: GDB has only three calls to abort(). */ + default: + dejavu = 3; +- write (STDERR_FILENO, msg, sizeof (msg)); ++ r = write (STDERR_FILENO, msg, sizeof (msg)); (void) r; + exit (1); + } + } diff --git a/gdb/mingw-gdb.spec b/gdb/mingw-gdb.spec new file mode 100644 index 0000000..beeef3a --- /dev/null +++ b/gdb/mingw-gdb.spec @@ -0,0 +1,76 @@ +Name: mingw-gdb +Version: 6.8 +Release: 1%{?dist} +Summary: MinGW port of the GNU debugger (gdb) + +License: GPLv2+ +Group: Development/Libraries +URL: http://www.mingw.org/MinGWiki/index.php/gdb +Source0: http://dl.sourceforge.net/sourceforge/mingw/gdb-%{version}-mingw-src.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch0: mingw-gdb-6.8-no-getcwd-error.patch + +BuildRequires: mingw-filesystem >= 23 +BuildRequires: flex +BuildRequires: chrpath + +Requires: mingw-filesystem >= 23 +Requires: mingw-binutils +Requires: mingw-runtime + + +%description +This is the MinGW port of the GNU debugger (gdb). + +Note this is a Fedora native binary which debugs Windows target +executables. + + +%prep +%setup -q -n gdb-%{version} +%patch0 -p1 + + +%build +CC="%{__cc} ${RPM_OPT_FLAGS}" \ +./configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=%{_mingw_target} +make + + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install + +# Remove files that clash with other installed stuff. +rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a +rm -rf $RPM_BUILD_ROOT%{_infodir}/* +rm -rf $RPM_BUILD_ROOT%{_datadir}/locale + +# Remove rpaths +chrpath --delete $RPM_BUILD_ROOT%{_bindir}/* + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root) +%{_bindir}/i686-pc-mingw32-gdb +%{_bindir}/i686-pc-mingw32-gdbtui +%{_mandir}/man1/*.1* + + +%changelog +* Thu Sep 11 2008 Richard W.M. Jones - 6.8-1 +- Initial RPM release.