Launchpad has imported 8 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=97226.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2016-08-06T13:12:36+00:00 David Faure wrote:

/usr/bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 3.0.0, BuildID[sha1]=339279bdac0d1a8c98b6bbb92afc8d8edb185d9f,
stripped

This file is detected as application/x-sharedlib instead of
application/x-executable, by the s-m-i test suite, if I add it there.

Patch for the test suite: http://www.davidfaure.fr/kde/smi.diff
+ downloading http://www.davidfaure.fr/kde/ls into tests/.

Result:
ls, 'data' test: expected application/x-executable, got application/x-sharedlib
ls, 'file' test: expected application/x-executable, got application/x-sharedlib

There must be a bug in the ELF magic for application/x-sharedlib and/or
application/x-executable.

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/0

------------------------------------------------------------------------
On 2016-08-06T13:17:24+00:00 Bugzilla-x wrote:

Or you could just dump the file into the staging-tests/ directory, and
run "make local-test". Patch welcome, but I wonder how useful that magic
(or lack of accuracy) actually is.

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/1

------------------------------------------------------------------------
On 2016-08-06T18:05:51+00:00 David Faure wrote:

Well we need a way to find out that /bin/ls is an executable, and
there's no extension, so working magic would be useful ;)

However I don't know anything about the ELF file format, so I don't know
what the problem actually is (and whether it offers reliable magic).

Admittedly the magic for x-sharedlib is the one that's much less useful, shared 
libs are typically called *.so or *.so.[0-9\.]* :-)
But I wouldn't dare just removing all magic from x-sharedlib... unless someone 
can prove that the ELF file format makes no actual difference between shared 
libs and executables?

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/2

------------------------------------------------------------------------
On 2017-01-05T01:25:47+00:00 Alan Coopersmith wrote:

The ELF file format distinguishes between traditional executables and shared
objects, but unfortunately PIE executables are treated as ELF shared objects

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/9

------------------------------------------------------------------------
On 2017-01-14T16:16:09+00:00 Yann Droneaud wrote:

AFAIK, a shared object could be a PIE program if it has a (valid)
interpretor header (PT_INTERP).

It should be noted that glibc's ELF loader (ld-linux.so, exact name
depending on architecture) is a shared object and a valid program, but
doesn't have an interpretor header, but that's the only exception I
aware of.

IOTH, glibc's libc.so is a shared object with a valid interpretor,
making it a valid program (try it !). Reporting such library as a
program might be misleading for end user.

Anyway, PT_INTERP header not at a fixed location in the ELF file, so it
cannot be described in shared-mime-info database.

(It's a pity PIE ELF files were not describe with a new ELF type or at
least a flag :(

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/10

------------------------------------------------------------------------
On 2017-09-06T21:34:59+00:00 dkg wrote:

This has been open for over a year, and is related to even older bugs in
tools that depend on shared-mime-info (e.g.
https://bugzilla.gnome.org/show_bug.cgi?id=737849 ).  This is also an
issue in libmagic, and there is more discussion about ELF over there:
https://bugzilla.redhat.com/show_bug.cgi?id=1296868

It'd be great to have some sort of resolution here.

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/11

------------------------------------------------------------------------
On 2017-09-06T21:39:53+00:00 Bugzilla-x wrote:

(In reply to Daniel Kahn Gillmor from comment #5)
> It'd be great to have some sort of resolution here.

That's not going to happen unless somebody has a patch. Reading comment
4, that seems unlikely. If you have applications that require this deep
level of knowledge of the different formats, you'll probably want to use
something more precise than the shared-mime spec.

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/12

------------------------------------------------------------------------
On 2018-10-13T10:36:34+00:00 Gitlab-migration wrote:

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has
been closed from further activity.

You can subscribe and participate further through the new bug through
this link to our GitLab instance: https://gitlab.freedesktop.org/xdg
/shared-mime-info/issues/11.

Reply at: https://bugs.launchpad.net/ubuntu/+source/shared-mime-
info/+bug/1639531/comments/13


** Changed in: shared-mime-info
       Status: Confirmed => Unknown

** Bug watch added: Red Hat Bugzilla #1296868
   https://bugzilla.redhat.com/show_bug.cgi?id=1296868

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to shared-mime-info in
Ubuntu.
https://bugs.launchpad.net/bugs/1639531

Title:
  GCC compiles programs to shared object instead of executable,
  preventing GUI file managers from executing programs

Status in gcc-defaults:
  Unknown
Status in shared-mime-info:
  Unknown
Status in shared-mime-info package in Ubuntu:
  Triaged

Bug description:
  Release of Ubuntu being used
  ============================

  Description:    Ubuntu 16.10
  Release:        16.10

  Version of the package being used
  =================================

  gcc:
    Installed: 4:6.1.1-1ubuntu2
    Candidate: 4:6.1.1-1ubuntu2
    Version table:
   *** 4:6.1.1-1ubuntu2 500
          500 http://archive.ubuntu.com/ubuntu yakkety/main amd64 Packages
          100 /var/lib/dpkg/status

  What was expected
  =================

  Programs compiled using `gcc -o program program.c` should be runnable
  by double-clicking them from a GUI file manager.

  Compiling a simple program (`void main() { }`) using Xubuntu 16.04's
  current version of `gcc` (`gcc version 5.4.0 20160609 (Ubuntu
  5.4.0-6ubuntu1~16.04.2)`) produces the following output from
  `/usr/bin/file program`:

      program: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
  dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
  GNU/Linux 2.6.32, BuildID[sha1]=signature_here, not stripped

  This is correct behavior, allowing the executables to run from
  Nautilus and Thunar.

  What happened instead
  =====================

  Programs compiled using `gcc -o program program.c` are not runnable by
  double-clicking them from a GUI file manager, even though they are
  runnable from the terminal.

  Compiling a simple program (`void main() { }`) using the current
  version of `gcc` (`6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)`) produces
  the following output from `/usr/bin/file program`:

      program: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
  dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
  GNU/Linux 2.6.32, BuildID[sha1]=signature_here, not stripped

  The program is also identified as a "shared library" instead of an
  "executable" in Thunar, causing it to not be runnable from the GUI.
  Others are unable to run such programs from Nautilus.

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-defaults/+bug/1639531/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to