unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: John ff <jpff@codemist.co.uk>
To: Pip Cet <pipcet@protonmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>,Paul Eggert <eggert@cs.ucla.edu>,
	gerd.moellmann@gmail.com,emacs-devel@gnu.org
Subject: Re: pdumper on Solaris 10
Date: Sun, 15 Dec 2024 19:54:10 +0000	[thread overview]
Message-ID: <91edb1c6-2caf-4597-88c1-a915e822ab01@codemist.co.uk> (raw)
In-Reply-To: <87h675du7m.fsf@protonmail.com>

[-- Attachment #1: Type: text/plain, Size: 3775 bytes --]



⁣​

On 15 Dec 2024, 12:23, at 12:23, "Pip Cet via Emacs development discussions." <emacs-devel@gnu.org> wrote:
>"Eli Zaretskii" <eliz@gnu.org> writes:
>
>>> Date: Sun, 15 Dec 2024 10:55:49 +0000
>>> From: Pip Cet <pipcet@protonmail.com>
>>> Cc: gerd.moellmann@gmail.com, emacs-devel@gnu.org
>>>
>>> "Eli Zaretskii" <eliz@gnu.org> writes:
>>>
>>> >     CC       igc.o
>>> >   igc.c: In function 'weak_hash_table_entry':
>>> >   igc.c:4102:16: warning: cast to pointer from integer of
>different size [-Wint-to-pointer-cast]
>>> >    4102 |       client = (mps_addr_t)entry.intptr;
>>> > 	|                ^
>>> >   igc.c:4107:16: warning: cast to pointer from integer of
>different size [-Wint-to-pointer-cast]
>>> >    4107 |       client = (mps_addr_t)real_ptr;
>>> > 	|                ^
>>> >
>>> > The warnings are real, because mps_addr_t is a 'void *', so a
>32-bit
>>> > data type, whereas entry.intptr is EMACS_UINT, so an unsigned
>64-bit
>>> > type.
>>>
>>> Oh, sorry for causing those.
>>>
>>> The intended behavior is to truncate the integer and use the 32 LSB
>>> bits, which is safe on the machines MPS is ported to, and is
>expressed
>>> using a cast to mps_addr_t.  So the code behaves correctly, but is
>>> incorrect because it causes a compiler warning.
>>
>> What about the (hypothetical) case of big-endian systems?
>
>Not a problem here, but there is some good news concerning the
>"hypothetical" part: I'm testing 32-bit builds on a sparc system, so
>it's no longer hypothetical (thanks again to the cfarm people for
>giving
>me an account).
>
>The bad news is that while MPS works when Emacs is run normally in a
>non-wide-int build, running Emacs in GDB does not work: the siginfo_t
>information passed to the SIGSEGV handler isn't preserved.  Currently,
>the --with-wide-int build infloops rather than crashing or working, but
>I can't attach a debugger, so I'll have to learn how to trigger (and
>find) a core dump on this system.
>
>It's possible this problem is an unavoidable vicious cycle: since
>small integers are easily confused with pointers on this system, more
>objects are "ambiguously" recognized as reachable even though they
>aren't actually reachable; that causes more objects to be retained,
>which causes more integer values to be treated as potential pointers,
>resulting in even more retained objects, until finally we run out of
>virtual memory.  At least that would explain the 2 GB core file...
>
>>> What's the preferred way of avoiding a compiler warning in this
>case?
>>> A simple double cast (first to uintptr_t, then to mps_addr_t) should
>>> work, right?
>>
>> I'll defer to Paul (CC'ed), but my personal preference is also to
>> explicitly reset the ignored bits by bitwise AND.
>
>Either way sounds good to me, and I expect both ways will result in
>future compiler warnings (hopefully, these future compilers will also
>have a better way of indicating that a cast from a 64-bit integer to a
>32-bit pointer is intended here).
>
>>> > However, profiling doesn't work, whereas it did
>>> > in the "normal" 32-bit build.  (Note that SIGPROF is emulated on
>>> > Windows, so maybe that emulation somehow causes this problem when
>wide
>>> > ints are used with MPS.)
>>>
>>> Thanks for letting me know! That certainly sounds like a regression
>we
>>> should fix.  What kind of problem are we talking about?
>
>> However, I repeated the test now, and I see that the profile does
>> work.  I guess yesterday wins my personal record of producing
>> irreproducible results: this one and the one with
>> completion-at-point-functions in another discussion.
>>
>> Sorry for the noise.
>
>No problem at all, and thank you!
>
>Pip

[-- Attachment #2: Type: text/html, Size: 5258 bytes --]

  parent reply	other threads:[~2024-12-15 19:54 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.39.1723910423.12184.emacs-devel@gnu.org>
2024-08-17 22:49 ` Emacs-devel Digest, Vol 246, Issue 17 ali_gnu2
2024-08-18  0:10   ` Po Lu
2024-08-18  0:19     ` Po Lu
2024-08-18  1:15     ` Solaris dldump (was: Pure space) ali_gnu2
2024-08-18  1:25       ` Solaris dldump Po Lu
2024-08-18 22:27         ` Stefan Kangas
2024-08-18 23:56           ` Po Lu
2024-08-19 11:18             ` Eli Zaretskii
2024-08-19 12:09               ` Po Lu
2024-08-19 12:50                 ` Eli Zaretskii
2024-08-19 11:44             ` Pip Cet
2024-08-19 11:57               ` Po Lu
2024-08-19 12:10                 ` Pip Cet
2024-08-19 12:55                   ` Eli Zaretskii
2024-08-19 13:46                     ` Pip Cet
2024-08-19 14:39                       ` Eli Zaretskii
2024-08-19 15:26                         ` Corwin Brust
2024-08-19 15:31                           ` Corwin Brust
2024-08-19 20:51                       ` Stefan Kangas
2024-08-19 20:35             ` Stefan Kangas
2024-12-08 12:17     ` pdumper on Solaris 10 Pip Cet via Emacs development discussions.
2024-12-08 13:05       ` Eli Zaretskii
2024-12-08 13:52         ` Pip Cet via Emacs development discussions.
2024-12-08 14:52           ` Eli Zaretskii
2024-12-08 16:17             ` Pip Cet via Emacs development discussions.
2024-12-08 16:49               ` Eli Zaretskii
2024-12-08 17:37                 ` Pip Cet via Emacs development discussions.
2024-12-08 18:41                   ` Eli Zaretskii
2024-12-08 19:15                     ` Gerd Möllmann
2024-12-08 20:38                       ` Eli Zaretskii
2024-12-09  3:09                         ` Gerd Möllmann
2024-12-09  3:32                           ` Eli Zaretskii
2024-12-09  3:43                             ` Gerd Möllmann
2024-12-09  4:53                               ` Stefan Kangas
2024-12-09  5:26                                 ` Gerd Möllmann
2024-12-09 13:58                                 ` Eli Zaretskii
2024-12-10  0:02                                   ` Po Lu
2024-12-09  9:56                           ` Pip Cet via Emacs development discussions.
2024-12-10  0:04                             ` Po Lu
2024-12-10  3:34                               ` Eli Zaretskii
2024-12-11  1:13                                 ` Po Lu
2024-12-11 11:29                                   ` Pip Cet via Emacs development discussions.
2024-12-09  4:59                     ` Stefan Kangas
2024-12-09 14:39                       ` Eli Zaretskii
2024-12-09 21:06                         ` Merging MPS a.k.a. scratch/igc, yet again Stefan Kangas
2024-12-09 21:49                           ` Óscar Fuentes
2024-12-10  4:17                             ` Xiyue Deng
2024-12-10  4:26                               ` Sean Whitton
2024-12-10  4:42                               ` chad
2024-12-10 13:10                               ` Óscar Fuentes
2024-12-10 15:10                                 ` Pip Cet via Emacs development discussions.
2024-12-10 15:37                                   ` Óscar Fuentes
2024-12-10 15:47                                     ` Pip Cet via Emacs development discussions.
2024-12-10 17:16                                     ` Eli Zaretskii
2024-12-12  4:37                                   ` Xiyue Deng
2024-12-10 13:20                               ` Eli Zaretskii
2024-12-10 14:46                               ` Pip Cet via Emacs development discussions.
2024-12-10 13:09                             ` Eli Zaretskii
2024-12-10 13:20                               ` Óscar Fuentes
2024-12-10 14:41                                 ` Eli Zaretskii
2024-12-09 23:13                           ` chad
2024-12-10 12:41                           ` Eli Zaretskii
2024-12-10  0:09                         ` pdumper on Solaris 10 Stefan Kangas
2024-12-10 12:59                           ` Eli Zaretskii
2024-12-10 13:39                             ` Óscar Fuentes
2024-12-10 14:39                               ` Eli Zaretskii
2024-12-10 15:21                                 ` Óscar Fuentes
2024-12-10 16:39                                   ` Eli Zaretskii
2024-12-10 15:38                               ` Pip Cet via Emacs development discussions.
2024-12-10 16:04                                 ` Óscar Fuentes
2024-12-10 17:23                                   ` Eli Zaretskii
2024-12-11  5:27                                 ` Gap buffer problem? Gerd Möllmann
2024-12-11  8:50                                   ` Pip Cet via Emacs development discussions.
2024-12-11  9:35                                     ` Gerd Möllmann
2024-12-11 11:50                                       ` Pip Cet via Emacs development discussions.
2024-12-11 13:22                                         ` Gerd Möllmann
2024-12-11 14:53                                           ` Pip Cet via Emacs development discussions.
2024-12-11 15:33                                             ` Gerd Möllmann
2024-12-11 16:58                                               ` Eli Zaretskii
2024-12-11 17:13                                                 ` Gerd Möllmann
2024-12-11 17:45                                                   ` Robert Pluim
2024-12-11 18:11                                                     ` Gerd Möllmann
2024-12-11 19:08                                                     ` Eli Zaretskii
2024-12-11 17:41                                                 ` Pip Cet via Emacs development discussions.
2024-12-11 19:04                                                   ` Eli Zaretskii
2024-12-11 19:54                                                     ` Pip Cet via Emacs development discussions.
2024-12-11 20:26                                                       ` Eli Zaretskii
2024-12-11 22:07                                                       ` Dmitry Gutov
2024-12-11 19:09                                                   ` Gerd Möllmann
2024-12-12  8:55                                                     ` Robert Pluim
2024-12-12 10:14                                                       ` Gerd Möllmann
2024-12-11 12:27                                       ` Pip Cet via Emacs development discussions.
2024-12-11 13:27                                         ` Gerd Möllmann
2024-12-11 15:06                                           ` Marcus Harnisch
2024-12-11 22:11                                             ` Dmitry Gutov
2024-12-12  3:49                                               ` Gerd Möllmann
2024-12-12 19:07                                                 ` Dmitry Gutov
2024-12-12 19:30                                                   ` Eli Zaretskii
2024-12-12 19:40                                                   ` Gerd Möllmann
2024-12-12  6:01                                               ` Eli Zaretskii
2024-12-11 14:22                                   ` Eli Zaretskii
2024-12-11 15:51                                     ` Gerd Möllmann
2024-12-11 17:06                                       ` Eli Zaretskii
2024-12-11 17:15                                         ` Gerd Möllmann
2024-12-10 18:13                               ` pdumper on Solaris 10 Gerd Möllmann
2024-12-10 15:23                             ` Pip Cet via Emacs development discussions.
2024-12-10 17:08                               ` Eli Zaretskii
2024-12-10 18:03                                 ` Gerd Möllmann
2024-12-10 19:34                                   ` Pip Cet via Emacs development discussions.
2024-12-10 19:59                                     ` Gerd Möllmann
2024-12-10 20:17                                       ` Pip Cet via Emacs development discussions.
2024-12-10 20:34                                         ` Gerd Möllmann
2024-12-11 14:13                                   ` Pip Cet via Emacs development discussions.
2024-12-11 17:43                                     ` Eli Zaretskii
2024-12-14 14:30                                     ` Eli Zaretskii
2024-12-15 10:55                                       ` Pip Cet via Emacs development discussions.
2024-12-15 11:13                                         ` Eli Zaretskii
2024-12-15 12:09                                           ` Pip Cet via Emacs development discussions.
2024-12-15 12:52                                             ` Eli Zaretskii
2024-12-15 19:54                                             ` John ff [this message]
2024-12-09 16:21                       ` Pip Cet via Emacs development discussions.
2024-12-08 18:47                 ` Pip Cet via Emacs development discussions.
2024-12-09  1:13                 ` Po Lu
2024-12-09  1:08           ` Po Lu
2024-12-09  0:58       ` Po Lu
2024-12-09  3:28         ` Eli Zaretskii
2024-12-09  1:01       ` Po Lu
2024-12-09 13:11         ` Pip Cet via Emacs development discussions.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91edb1c6-2caf-4597-88c1-a915e822ab01@codemist.co.uk \
    --to=jpff@codemist.co.uk \
    --cc=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@gmail.com \
    --cc=pipcet@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).