unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: luangruo@yahoo.com
Cc: stefankangas@gmail.com, emacs-devel@gnu.org
Subject: Re: Windows 9X without KernelEx
Date: Sun, 16 Jun 2024 08:50:20 +0300	[thread overview]
Message-ID: <86plshsag3.fsf@gnu.org> (raw)
In-Reply-To: <86r0cxsb37.fsf@gnu.org> (message from Eli Zaretskii on Sun, 16 Jun 2024 08:36:28 +0300)

> Date: Sun, 16 Jun 2024 08:36:28 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: stefankangas@gmail.com, emacs-devel@gnu.org
> 
> > From: Po Lu <luangruo@yahoo.com>
> > Cc: stefankangas@gmail.com,  emacs-devel@gnu.org
> > Date: Sun, 16 Jun 2024 10:01:29 +0800
> > 
> > Eli Zaretskii <eliz@gnu.org> writes:
> > 
> > > The GDI32.DLL part is specific to the functions used by w32font.c.
> > > But the idea is general: all of the APIs that we call directly are
> > > supposed to be present in some system DLL, even though some of them
> > > have stub implementations.  For example, I have SHELL32.DLL (dated Sep
> > > 1998!) from my old Windows 9X system, and in it I see both
> > > ShellExecuteW and SHFileOperationW exports.
> > 
> > Mine reports a creation time of May 11th 1998, but upon running `nm' I
> > see that it indeed exports those two functions, and a test program
> > compiled in MinGW:
> > 
> >   int
> >   main ()
> >   {
> >     extern int ShellExecuteW ();
> >     extern int SHFileOperationW ();
> >     char *x = (char *) &ShellExecuteW;
> >     char *y = (char *) &SHFileOperationW;
> >   }
> > 
> > starts and exits with no error dialog, and yet Emacs still does not link
> > if it imports either symbol.  Might there perhaps be symbol versioning
> > mechanisms or parameters in object files that influence its view of
> > external symbols?  I'm lost, sorry.
> 
> I think the reason is we don't link with -lshell32 anymore.  We used
> to do that until Emacs 25, but dropped that since for some reason.

I know why we dropped it: MinGW GCC adds -lshell32 by default, see
"gcc -dumpspecs".  But maybe you are using an old GCC version which
doesn't or something?  If you add "-v" to the link command line, do
you see "-lshell32" in the command printed by GCC?




  reply	other threads:[~2024-06-16  5:50 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <875xub8sn8.fsf.ref@yahoo.com>
2024-06-14 15:12 ` Windows 9X without KernelEx Po Lu via Emacs development discussions.
2024-06-14 15:26   ` Eli Zaretskii
2024-06-14 15:37     ` Po Lu
2024-06-14 16:06       ` Eli Zaretskii
2024-06-15  1:42         ` Po Lu
2024-06-15  2:42         ` Po Lu
2024-06-15  6:58           ` Eli Zaretskii
2024-06-15  7:12             ` Po Lu
2024-06-15  7:37               ` Eli Zaretskii
2024-06-15  7:45                 ` Po Lu
2024-06-15  7:50                   ` Eli Zaretskii
2024-06-15  9:39                     ` Po Lu
2024-06-15 12:38                       ` Eli Zaretskii
2024-06-15 13:10                         ` Po Lu
2024-06-15 13:22                           ` Eli Zaretskii
2024-06-15 13:31                             ` Po Lu
2024-06-15  4:07     ` Stefan Kangas
2024-06-15  4:14       ` Po Lu
2024-06-15  4:45         ` Po Lu
2024-06-15  7:07           ` Eli Zaretskii
2024-06-15  7:22             ` Po Lu
2024-06-15  7:42               ` Eli Zaretskii
2024-06-15  9:35                 ` Po Lu via Emacs development discussions.
2024-06-15 13:52                   ` Eli Zaretskii
2024-06-15 14:18                     ` Po Lu
2024-06-15 14:55                       ` Eli Zaretskii
2024-06-15 15:15                         ` Po Lu
2024-06-15 16:01                           ` Eli Zaretskii
2024-06-16  2:01                             ` Po Lu
2024-06-16  5:36                               ` Eli Zaretskii
2024-06-16  5:50                                 ` Eli Zaretskii [this message]
2024-06-16  6:53                                   ` Po Lu
2024-06-16 11:34                                     ` Po Lu
2024-06-16 12:21                                       ` Eli Zaretskii
2024-06-23  8:35                                       ` Po Lu
2024-06-23  9:16                                         ` Eli Zaretskii
2024-06-23 20:25                                           ` Ken Brown
2024-06-24  2:30                                             ` Eli Zaretskii
2024-06-24  3:53                                               ` Po Lu
2024-06-25 19:20                                               ` Corwin Brust
2024-06-24 17:17                                             ` Ken Brown
2024-06-24 22:11                                               ` Ken Brown
2024-06-25 22:41                                                 ` Ken Brown
2024-06-27  1:59                                                 ` Po Lu
2024-06-27 13:18                                                   ` Ken Brown
2024-06-27 13:42                                                     ` Po Lu
2024-06-27 13:47                                                       ` Po Lu
2024-06-27 14:52                                                         ` Ken Brown
2024-06-30  2:07                                                           ` Po Lu
2024-06-15  7:01       ` Eli Zaretskii

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=86plshsag3.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=stefankangas@gmail.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).