emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: crash on powerpc-ibm-aix5.1.0.0


From: Dan Nicolaescu
Subject: Re: crash on powerpc-ibm-aix5.1.0.0
Date: Tue, 20 Sep 2005 10:17:05 -0700

"Richard M. Stallman" <address@hidden> writes:

  >     If I change the #ifndef HAVE_GET_CURRENT_DIR_NAME in sysdep.c to 
  >     #if 1 then everything works OK.
  > 
  >     What is the best way to fix this?
  > 
  > The way to make this particular change is to add another macro
  > BROKEN_GET_CURRENT_DIR_NAME, test it there in sysdep.c, and define it
  > in the s/ file that is used.

I did that. 

  > However, if a bug happens whenever libc calls call malloc, I suspect
  > that the same thing will happen in other circumstances.  So probably
  > you need to define SYSTEM_MALLOC.  Could you please try that?

I did, and it does not work, the dumped emacs crashes when it is first
run... 

All the changes needed to get Emacs running on this system are below.

May I check this in?


2005-09-20  Dan Nicolaescu  <address@hidden>

        * m/ibmrs6000.h (C_SWITCH_MACHINE): Use USG5 not USG5_4.

        * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define.

        * sysdep.c (get_current_dir_name): Also define if
        BROKEN_GET_CURRENT_DIR_NAME. 


Index: src/sysdep.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/sysdep.c,v
retrieving revision 1.271
diff -c -3 -p -r1.271 sysdep.c
*** src/sysdep.c        18 Sep 2005 05:42:49 -0000      1.271
--- src/sysdep.c        20 Sep 2005 17:14:29 -0000
*************** void hft_reset ();
*** 256,262 ****
  SIGMASKTYPE sigprocmask_set;
  
  
! #ifndef HAVE_GET_CURRENT_DIR_NAME
  
  /* Return the current working directory.  Returns NULL on errors.
     Any other returned value must be freed with free. This is used
--- 256,262 ----
  SIGMASKTYPE sigprocmask_set;
  
  
! #if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined 
(BROKEN_GET_CURRENT_DIR_NAME)
  
  /* Return the current working directory.  Returns NULL on errors.
     Any other returned value must be freed with free. This is used
Index: src/m/ibmrs6000.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/m/ibmrs6000.h,v
retrieving revision 1.43
diff -c -3 -p -r1.43 ibmrs6000.h
*** src/m/ibmrs6000.h   7 Aug 2005 09:52:28 -0000       1.43
--- src/m/ibmrs6000.h   20 Sep 2005 17:14:29 -0000
*************** Boston, MA 02110-1301, USA.  */
*** 112,118 ****
  #define OBJECTS_MACHINE hftctl.o
  #endif
  
! #ifndef USG5_4
  #define C_SWITCH_MACHINE -D_BSD
  #endif
  
--- 112,118 ----
  #define OBJECTS_MACHINE hftctl.o
  #endif
  
! #ifndef USG5
  #define C_SWITCH_MACHINE -D_BSD
  #endif
  
Index: src/s/aix4-2.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/s/aix4-2.h,v
retrieving revision 1.4
diff -c -3 -p -r1.4 aix4-2.h
*** src/s/aix4-2.h      1 Sep 2003 15:45:58 -0000       1.4
--- src/s/aix4-2.h      20 Sep 2005 17:14:29 -0000
***************
*** 2,6 ****
--- 2,10 ----
  
  #undef ALIGN_DATA_RELOC
  
+ /* Emacs crashes when calling realloc on the pointer returned by the
+    system get_current_dir_name, so use the Emacs implementation. */
+ #define BROKEN_GET_CURRENT_DIR_NAME 1
+ 
  /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
     (do not change this comment) */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]