Fix implementation of HYBRID_MALLOC on Cygwin.

* src/sheap.c (bss_sbrk_buffer_end): Cast to void *.
(bss_sbrk_buffer_beg): New variable.  Use it...
* src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
  incorrect definition.
This commit is contained in:
Ken Brown 2014-09-27 16:58:05 -04:00
parent 5551acd251
commit 6c300919bc
3 changed files with 14 additions and 4 deletions

View file

@ -1,3 +1,11 @@
2014-09-27 Ken Brown <kbrown@cornell.edu>
Fix implementation of HYBRID_MALLOC on Cygwin.
* sheap.c (bss_sbrk_buffer_end): Cast to void *.
(bss_sbrk_buffer_beg): New variable. Use it...
* gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
incorrect definition.
2014-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
* keyboard.c (track-mouse): Rename to internal--track-mouse.

View file

@ -75,11 +75,11 @@ extern void emacs_abort (void);
#ifdef CYGWIN
extern void *bss_sbrk (ptrdiff_t size);
extern int bss_sbrk_did_unexec;
extern char *bss_sbrk_buffer;
extern char *bss_sbrk_buffer_end;
extern void *bss_sbrk_buffer_beg;
extern void *bss_sbrk_buffer_end;
#define DUMPED bss_sbrk_did_unexec
#define ALLOCATED_BEFORE_DUMPING(P) \
((char *) (P) < bss_sbrk_buffer_end && (char *) (P) >= bss_sbrk_buffer)
((P) < bss_sbrk_buffer_end && (P) >= bss_sbrk_buffer_beg)
#endif
#ifdef __cplusplus

View file

@ -44,7 +44,9 @@ int debug_sheap = 0;
#define BLOCKSIZE 4096
char bss_sbrk_buffer[STATIC_HEAP_SIZE];
char *bss_sbrk_buffer_end = bss_sbrk_buffer + STATIC_HEAP_SIZE;
/* The following two variables are needed in gmalloc.c */
void *bss_sbrk_buffer_beg = bss_sbrk_buffer;
void *bss_sbrk_buffer_end = bss_sbrk_buffer + STATIC_HEAP_SIZE;
char *bss_sbrk_ptr;
char *max_bss_sbrk_ptr;
int bss_sbrk_did_unexec;