This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Return argv0-symlink.exp early if gdb can't load symlink
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Pedro Alves <palves at redhat dot com>
- Cc: yao at codesourcery dot com, gdb-patches at sourceware dot org
- Date: Wed, 02 Apr 2014 20:20:44 +0300
- Subject: Re: [PATCH] Return argv0-symlink.exp early if gdb can't load symlink
- Authentication-results: sourceware.org; auth=none
- References: <1396428218-31822-1-git-send-email-yao at codesourcery dot com> <533BD0D5 dot 4000408 at codesourcery dot com> <83txabbtdl dot fsf at gnu dot org> <533C40A7 dot 1040502 at redhat dot com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Wed, 02 Apr 2014 17:53:59 +0100
> From: Pedro Alves <palves@redhat.com>
> CC: Yao Qi <yao@codesourcery.com>, gdb-patches@sourceware.org
>
> > Creating native symlinks generally require elevation on Windows. So
> > unless Cygwin somehow managed to work around this (I didn't try, so I
> > don't know), you will get UAC prompts when you try creating symlinks.
> >
> > Therefore, I don't recommend to go there.
> >
>
> I suspect it's the specific tool (mklink, perhaps?) that tries to create
> symlinks that somehow runs a UAC prompt.
mklink just invokes the CreateSymbolicLink API. And if you need more
data points, I see the same behavior in Emacs, when I invoke the
make-symbolic-link function on Windows.
> On the permissions, according to:
>
> http://cygwin.com/ml/cygwin/2011-04/msg00088.html
>
> > They don't require administrator privilege per se: just SeCreateSymbolicLinkPrivilege,
> > which can be granted to normal user accounts via local security policy. The easiest way to
> > grant SeCreateSymbolicLinkPrivilege is to start gpedit.msc, go down to
> > "Windows Settings"->"Security Settings"->"Local Policies"->"User Rights Assignment",
> > then find "Create symbolic links" and add whatever users and groups you want[1].
That is correct, and matches my experience, but the problem is that
most Windows users are local admins on their machines, in which case
adding SeCreateSymbolicLinkPrivilege doesn't work, because members of
the Administrators group are treated specially when privileges are
concerned. Thus the "normal user account" in the above is really a
crucial part.
> Assuming not having the permissions doesn't cause prompts resulting in
> testsuite run hangs, I think it's OK. If the user doesn't have the
> permissions, the symlink fails to be created and the tests require symlinks
> end up UNRESOLVED or UNTESTED.
If you are OK with that, so am I.