This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

declare canonicalize_file_name


GDB uses canonicalize_file_name if it detects it in libc,
but doesn't define _GNU_SOURCE to get it declared.  This
results in the compiler thinking that the function returns
an integer, which results in the pointer value being 
truncated on ia64.

I figured providing a declaration was safer than forcing
_GNU_SOURCE.

Ok?


r~


	* configure.in (canonicalize_file_name): Look for declaration.
	* configure, config.in: Rebuild.
	* utils.c (canonicalize_file_name): Provide decl if required.

Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.83
diff -c -p -d -r1.83 configure.in
*** configure.in	2002/03/06 21:16:00	1.83
--- configure.in	2002/03/14 21:24:49
*************** BFD_NEED_DECLARATION(free)
*** 241,247 ****
  BFD_NEED_DECLARATION(strerror)
  BFD_NEED_DECLARATION(strdup)
  BFD_NEED_DECLARATION(strstr)
! 
  
  # The following save_state_t checkery is only necessary for HPUX 
  # versions earlier than 10.20.  When those fade from memory, this 
--- 241,247 ----
  BFD_NEED_DECLARATION(strerror)
  BFD_NEED_DECLARATION(strdup)
  BFD_NEED_DECLARATION(strstr)
! BFD_NEED_DECLARATION(canonicalize_file_name)
  
  # The following save_state_t checkery is only necessary for HPUX 
  # versions earlier than 10.20.  When those fade from memory, this 
Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/utils.c,v
retrieving revision 1.68
diff -c -p -d -r1.68 utils.c
*** utils.c	2002/03/01 06:19:24	1.68
--- utils.c	2002/03/14 21:24:49
*************** extern PTR realloc ();
*** 81,86 ****
--- 81,91 ----
  #ifdef NEED_DECLARATION_FREE
  extern void free ();
  #endif
+ /* Actually, we'll never have the decl, since we don't define _GNU_SOURCE.  */
+ #if defined(HAVE_CANONICALIZE_FILE_NAME) \
+     && defined(NEED_DECLARATION_CANONICALIZE_FILE_NAME)
+ extern char *canonicalize_file_name (const char *);
+ #endif
  
  #undef XMALLOC
  #define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]