1. 02 Feb, 2016 6 commits
  2. 01 Feb, 2016 3 commits
  3. 31 Jan, 2016 11 commits
  4. 30 Jan, 2016 20 commits
    • Paul Eggert's avatar
      Tell Automake the new lib/Makefile.am is OK · 692e4104
      Paul Eggert authored
      * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
    • Paul Eggert's avatar
      Make it easy to override preferred-branch test · 370a2602
      Paul Eggert authored
      * Makefile.in (preferred-branch-is-current):
      Rename from emacs-25-branch-is-current.  All uses changed.
      (PREFERRED_BRANCH): New macro.
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Shrink static heap a bit · 2ee29634
      Paul Eggert authored
      * src/sheap.h: Include lisp.h, for Lisp_Object.
      (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
      Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
      conservative than the old value.
    • Paul Eggert's avatar
      Fix extern symbols defined and not used · 3d82a8ee
      Paul Eggert authored
      * src/alloc.c: Always include <signal.h>.
      (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
      Do not define; unused.
      * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
      * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
      to avoid collision with glibc.  Now static.  All uses changed.
      * src/lastfile.c (my_edata): Define only if
      ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
      WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
    • Paul Eggert's avatar
      Build lib/e-*.o only on platforms that need it · 7fdc3cf0
      Paul Eggert authored
      * configure.ac (hybrid malloc): Simplify configuration.
      (SHEAP_OBJ): Remove; no longer needed.
      (HYBRID_MALLOC): New var. Subst it.
      (HYBRID_MALLOC_LIB): New Automake conditional.
      * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
      (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
      (MOSTLYCLEANFILES): Add libegnu.a.
      * src/Makefile.in (SHEAP_OBJ): Remove.
      (HYBRID_MALLOC): New macro.
      (base_obj): Use it to conditionally add sheap.o.
      (LIBEGNU_ARCHIVE): New macro.
      ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
      All uses of the latter replaced by the former.
      * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
      Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
      * src/gmalloc.c: Update comment.
      * src/lisp.h (aligned_alloc)
      New decl.
    • Paul Eggert's avatar
      Include <malloc.h> when advisable · a4817d83
      Paul Eggert authored
      This should help insulate us better from future glibc changes.
      It is good hygiene to include .h files for APIs that Emacs uses.
      Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
      * configure.ac: Check for malloc.h.
      * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
      not on DOUG_LEA_MALLOC.
      * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
      Remove decl (now in lisp.h).
      * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
      [emacs]: Include lisp.h.
      [HAVE_MALLOC_H]: Include <malloc.h>.
      (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
      (__after_morecore_hook, __malloc_initialize_hook, __morecore)
      [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
      (calloc): Make it clear that the macro should not be used.
      Remove unused decl.
      (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
      (__morecore, __default_morecore, __after_morecore_hook)
      (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
      (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
      Remove later decls.
      (gmalloc_hook, gfree_hook, grealloc_hook):
      Rename from __malloc_hook, __free_hook, __realloc_hook to
      avoid type collision with glibc <malloc.h>.  All uses changed.
      (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
      Now static.
      (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
      (__malloc_initialize_hook, __after_morecore_hook):
      Declare with types compatible with glibc.
      (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
      Remove.  All uses removed.
      * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
      * src/ralloc.c, src/vm-limit.c:
      Simplify includes and include <malloc.h> if available.
    • Paul Eggert's avatar
      * src/alloc.c: Include "sheap.h". · e4cd4a76
      Paul Eggert authored
      (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
      Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
      * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
      Declare unconditionally.
      * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
      (unexec): Don’t set or clear bss_sbrk_did_unexec;
      the caller now does this.
    • Paul Eggert's avatar
      Pacify --enable-gcc-warnings when HYBRID_MALLOC · e1a9f209
      Paul Eggert authored
      * src/buffer.c (init_buffer):
      * src/emacs.c (main):
      * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
      Use emacs_get_current_dir_name, not get_current_dir_name.
      * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
      (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
      * src/emacs.c: Include "sheap.h".
      (report_sheap_usage): Remove decl.
      (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
      Don't assume ptrdiff_t can be printed as int.
      * src/gmalloc.c [HYBRID_MALLOC]:
      Include "sheap.h" rather than declaring its contents by hand.
      (get_current_dir_name, gget_current_dir_name)
      (hybrid_get_current_dir_name): Remove.
      (emacs_abort): Remove duplicate decl.
      (aligned_alloc): Undef, like malloc etc.
      (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
      Make it a bit more efficient.
      (malloc_find_object_address): Remove unused decl.
      (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
      (mstats, memory_warnings): Declare only if GC_MCHECK.
      * src/lisp.h (emacs_get_current_dir_name):
      New decl, replacing get_current_dir_name.
      * src/sheap.c: Include sheap.h first.
      (STATIC_HEAP_SIZE): Remove; now in sheap.h.
      (debug_sheap): Now static.
      (bss_sbrk_buffer_end): Remove; no longer used.
      (bss_sbrk_ptr): Now static and private.
      (bss_sbrk_did_unexec): Now bool.
      (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
      (bss_sbrk): Don't treat request_size 0 as special, since the code
      works without this being a special case.
      Avoid overflow if request size exceeds INT_MAX.
      (report_sheap_usage): Remove; now done in emacs.c.
      * src/sheap.h: New file.
      * src/sysdep.c (get_current_dir_name): Remove macro.
      Include "sheap.h".
      (emacs_get_current_dir_name): Rename function from
      get_current_dir_name.  Handle HYBRID_MALLOC here;
      this is simpler.
    • Paul Eggert's avatar
      Report static heap usage on non-Cygwin, too · 874c59a8
      Paul Eggert authored
      * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
      * src/unexcw.c (unexec): ... instead of here, since sheap can be used
      on platforms other than Cygwin (Bug#22086).
    • Paul Eggert's avatar
      Pacify GCC on extern decls · 384ffef6
      Paul Eggert authored
      * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
      to pacify recent GCC (Bug#22086).
    • Wolfgang Jenkner's avatar
      Add musl patch to support HYBRID_MALLOC on elf systems · d6585a91
      Wolfgang Jenkner authored
      * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
      (__default_morecore): Here, in particular.
      * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
      New variable SHEAP_OBJ.
      * src/Makefile.in: Use it.
    • Rich Felker's avatar
      unexelf.c hook to support HYBRID_MALLOC on ELF · dec13908
      Rich Felker authored
      * src/unexelf.c (unexec) [HYBRID_MALLOC]:
      Define bss_sbrk_did_unexec (Bug#22086).
      Copyright-paperwork-exempt: yes
    • Wolfgang Jenkner's avatar
      Link temacs with gnulib compiled with -Demacs · a5f85861
      Wolfgang Jenkner authored
      This is done to support HYBRID_MALLOC, since some static variables
      (e.g., last_environ in putenv.c) hold pointers to memory malloced
      before dumping (Bug#22086).
      * lib/Makefile.am: Add incantation to install libegnu.a.
      * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
      (temacs$(EXEEXT)): Use it.
    • Wolfgang Jenkner's avatar
      Internal linkage for gmalloc etc. if HYBRID_MALLOC · cb22fce2
      Wolfgang Jenkner authored
      This avoids clashes with symbols if the after-dump malloc is
      derived from Doug Lea's implementation (Bug#22086).
      * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
      Move declarations up.  For HYBRID_MALLOC, turn all `extern'
      declarations below to `static' ones.
      (aligned_alloc): Declare for !MSDOS as well.
      (heapsize, _fraghead): Move resp. copy declaration downwards.
      For HYBRID_MALLOC, conditionalize out the other definitions,
      since the previous `static' declarations double as tentative
      definitions, anyway.
      (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
      (__realloc_hook, __memalign_hook): Conditionalize out.
      (cfree, memalign, valloc): Ditto.
    • Paul Eggert's avatar
      ; Update ChangeLog.2 commit by hand · 935b4d0c
      Paul Eggert authored
    • Paul Eggert's avatar
      ; Merge from origin/emacs-25 · 2d231aad
      Paul Eggert authored
      The following commits were skipped:
      7b14da44 Bump version to 25.0.90
      6f607a9d ; Auto-commit of loaddefs files.
    • Paul Eggert's avatar
      - · 99fa8c3d
      Paul Eggert authored
    • Paul Eggert's avatar
      ; Merge from origin/emacs-25 · 30056057
      Paul Eggert authored
      The following commits were skipped:
      ad879b7f Backport:fix previous change of src/ftfont.c (ftfont_shape_by_flt)
      4a3db0f7 support rendering of wider range of combinging characters by ftfont backend
    • Paul Eggert's avatar
      - · cb4e054e
      Paul Eggert authored