OCaml binary stripping (was: Re: OCaml 5 again)

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

 



During the OCaml 5 rebuild I found there's a generic problem on s390x
& ppc64le (ie. the bytecode-only architectures) involving stripping of
OCaml binaries.  A good example is supermin on s390x:

  # uname -a
  Linux e132ed8a0a9b4411b210e43e253581f0 6.4.0-59.fc39.s390x #1 SMP Mon Jun 26 11:55:15 UTC 2023 s390x GNU/Linux
  # supermin --version
  unknown option --version
  # echo $?
  127

The binary is correct when built, but gets corrupted after one of
these steps is applied (not sure which):

  + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
  + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip

In the past we had this commit in supermin:

  commit 18ebd2cc631f119a10374a914d5c725288060349
  Author: Dan Horák <dan@xxxxxxxx>
  Date:   Thu Sep 15 12:09:34 2016 +0200

    - Do not break the binary on interpreted builds (#1375213)

  diff --git a/supermin.spec b/supermin.spec
  index 30af5fb..8d4f03b 100644
  --- a/supermin.spec
  +++ b/supermin.spec
  @@ -1,3 +1,8 @@
  +%ifnarch %{ocaml_native_compiler}
  +%global __strip /bin/true
  +%global debug_package %{nil}
  +%endif
  +
  [etc]

which basically kills off stripping.  However that may or may not
still work.  It was removed because it was no longer necessary (as we
had an s390x native code backend), and because of this bug:

  https://bugzilla.redhat.com/show_bug.cgi?id=1915570

So I'm going with this instead to see if it cures the problem:

  %ifnarch %{ocaml_native_compiler}
  %global __strip /bin/true
  %global _lto_cflags %nil
  %global debug_package %{nil}
  %endif

(https://src.fedoraproject.org/rpms/supermin/c/61395e3f5a0fdbbea28ec03c6befcf482cb96792?branch=rawhide)

Anyway this could potentially affect any s390x / ppc64le OCaml package
that contains a binary so it's something to look out for ...  For some
reason dune doesn't seem to be affected.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux