emacs-devel
[Top][All Lists]
Advanced

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

Re: san_ignore_object not found at link time


From: Philipp Stephani
Subject: Re: san_ignore_object not found at link time
Date: Sat, 1 Aug 2020 21:40:02 +0200

Am Sa., 1. Aug. 2020 um 21:26 Uhr schrieb Eli Zaretskii <eliz@gnu.org>:
>
> > Date: Sat, 01 Aug 2020 22:21:24 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: alan@idiocy.org, emacs-devel@gnu.org, raman@google.com
> >
> > > From: Philipp Stephani <p.stephani2@gmail.com>
> > > Date: Sat, 1 Aug 2020 21:17:05 +0200
> > > Cc: Alan Third <alan@idiocy.org>, raman <raman@google.com>,
> > >     Emacs developers <emacs-devel@gnu.org>
> > >
> > > I've now used INT_SUBTRACT_WRAPV, which should guarantee that the
> > > offset is defined and fits within an intptr_t.
> >
> > Thanks, the warning is gone now.  Though I still don't like the code
> > there, it feels wrong even if it isn't.
>
> I spoke too soon: it compiles, but that hits assertion violation while
> loading:

Yeah, that's what I feared. I've now made the assertion conditional.

It might be cleaner to rewrite that function to explicitly check for
all known tag types:

void *po;
switch (type_tag)
{
  case Lisp_Symbol:
    po = XSYMBOL (obj);
    break;
  ...
}

That way, the pointer arithmetic would be centralized in XUNTAG and XSYMBOL.



reply via email to

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