Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* No Subject
@ 1998-04-06  4:43 Philippe De Muyter
  1998-04-06 14:16 ` Stan Shebs
  0 siblings, 1 reply; 8+ messages in thread
From: Philippe De Muyter @ 1998-04-06  4:43 UTC (permalink / raw)
  To: gdb-patches, gdb-testers

Am I the only one to have (sometimes) the problem of finding a non-executable
with the same name earlier in my path than the program I want to debug ?

Here is a patch.

I also removed the obsolete (now that we have gdb_string.h) strstr
declaration comment.

Mon Apr  6 13:20:21 1998  Philippe De Muyter  <phdm@macqel.be>

	* source.c (openp): Accept only files that match prot.
	* exec.c (exec_file_command): Request openp to find an executable
	file.

--- ./gdb/source.c	Mon Apr  6 11:22:17 1998
+++ ./gdb/source.c	Mon Apr  6 09:49:08 1998
@@ -83,11 +83,6 @@
 
 static void find_source_lines PARAMS ((struct symtab *, int));
 
-/* If we use this declaration, it breaks because of fucking ANSI "const" stuff
-   on some systems.  We just have to not declare it at all, have it default
-   to int, and possibly botch on a few systems.  Thanks, ANSIholes... */
-/* extern char *strstr(); */
-
 /* Path of directories to search for source files.
    Same format as the PATH environment variable's value.  */
 
@@ -521,7 +516,7 @@ openp (path, try_cwd_first, string, mode
     {
       int i;
       filename = string;
-      fd = open (filename, mode, prot);
+      fd = open (filename, mode);
       if (fd >= 0)
 	goto done;
       for (i = 0; string[i]; i++)
@@ -570,8 +565,10 @@ openp (path, try_cwd_first, string, mode
       strcat (filename+len, SLASH_STRING);
       strcat (filename, string);
 
-      fd = open (filename, mode);
-      if (fd >= 0) break;
+      /* Accept only files matching prot. */
+      if ((prot == 0 || access(filename, prot) == 0)
+      	  && (fd = open (filename, mode)) >= 0)
+	break;
     }
 
  done:
--- ./gdb/exec.c	Mon Apr  6 11:22:18 1998
+++ ./gdb/exec.c	Sat Apr  4 09:37:50 1998
@@ -32,6 +32,12 @@
 #endif
 
 #include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef X_OK
+#define X_OK	1
+#endif
 #include "gdb_string.h"
 
 #include "gdbcore.h"
@@ -185,8 +191,8 @@ exec_file_command (args, from_tty)
       make_cleanup (free, filename);
       
       scratch_chan = openp (getenv ("PATH"), 1, filename, 
-			    write_files? O_RDWR|O_BINARY: O_RDONLY|O_BINARY, 0,
-			    &scratch_pathname);
+			    write_files? O_RDWR|O_BINARY: O_RDONLY|O_BINARY,
+			    X_OK, &scratch_pathname);
 #if defined(__GO32__) || defined(_WIN32)
       if (scratch_chan < 0)
       {


^ permalink raw reply	[flat|nested] 8+ messages in thread
[parent not found: <C125695E.0056F77E.00@d12mta09.de.ibm.com>]
* Re:
@ 2001-09-13 13:03 Christoph Arenz
  2001-09-17 22:06 ` Re: Andrew Cagney
  0 siblings, 1 reply; 8+ messages in thread
From: Christoph Arenz @ 2001-09-13 13:03 UTC (permalink / raw)
  To: Denis Joseph Barrow; +Cc: ac131313, Ulrich Weigand, Gerhard Tonn, gdb-patches

Hi Denis,

I just want to let you know that the Software Letter has been signed and is
on its way to the FSF.
So the patches on our webpage are covered by this copyright assignment.

http://www10.software.ibm.com/developerworks/opensource/linux390/exp_src.html
     Patch:    gdb-5.1pre-050901-s390.tar.gz (09/11/2001)
     MD5: 886251f3719a754dd65a69df462ceac1

Kind regards,
Christoph

GNU/Linux on zSeries PDT
Phone:   (845) 435-8989, Tie-Line: 295-8989
Fax:        (845) 432-9787


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2001-09-19 12:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-04-06  4:43 No Subject Philippe De Muyter
1998-04-06 14:16 ` Stan Shebs
1998-04-06 14:36   ` Michael Snyder
1998-04-06 15:14     ` Re: Michael Meissner
     [not found] <C125695E.0056F77E.00@d12mta09.de.ibm.com>
2000-09-18 22:04 ` Re: Andrew Cagney
2001-09-13 13:03 Re: Christoph Arenz
2001-09-17 22:06 ` Re: Andrew Cagney
2001-09-19 12:04   ` Re: Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox