1. 22 Apr, 2019 5 commits
    • Paul Eggert's avatar
      Remove --enablechecking=conslist configure option · 72067661
      Paul Eggert authored
      * configure.ac: Remove the option.
      * configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
      * src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
      * src/lisp.h (lisp_h_check_cons_list, check_cons_list):
      Remove.  All uses removed.
      * etc/NEWS: Mention this.
      72067661
    • Paul Eggert's avatar
      Simplify XPNTR · 418400ab
      Paul Eggert authored
      Because XPNTR now uses ATTRIBUTE_NO_SANITIZE_UNDEFINED,
      it can be simplified.
      * src/alloc.c (macro_PNTR_ADD, PNTR_ADD, macro_XPNTR): Remove.
      (XPNTR): Open-code rather than using the removed macros and
      functions.  Also, simplify by using LISP_WORD_TAG.
      418400ab
    • Paul Eggert's avatar
      Fix drain_reloc_list alignment bug · e85bff0b
      Paul Eggert authored
      * src/pdumper.c (dump_charset): Use alignof (struct charset),
      not alignof (int), since struct charset might be more strictly
      aligned than int.  I think this is just a minor performance
      issue, but we might as well use the correct alignment.
      (drain_reloc_list): Use an alignment instead of a size for the
      output alignment.  This prevents undefined behavior when
      alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4
      when building on x86-64 with gcc -fsanitize=undefined.
      e85bff0b
    • Paul Eggert's avatar
      Port dump_bitset_clear to -fsanitize=undefined · 4a5ed6b0
      Paul Eggert authored
      * src/pdumper.c (dump_bitset_clear):
      Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
      which strictly speaking has undefined behavior although it
      works on all production platforms I know.
      4a5ed6b0
    • Paul Eggert's avatar
      Port to recent gcc -fsanitize=undefined · f67bc3f1
      Paul Eggert authored
      * src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and
      remove ATTRIBUTE_UNUSED.  Do not define as a macro, so that
      ATTRIBUTE_NO_SANITIZE_UNDEFINED works.
      * src/lisp.h (lisp_h_XSYMBOL): Remove.  All uses removed.
      With recent GCC the macro does not work with -fsanitize=undefined,
      and the macro can be omitted as its only function is to optimize -O0.
      f67bc3f1
  2. 21 Apr, 2019 20 commits
  3. 20 Apr, 2019 15 commits