diff --git a/erlang.spec b/erlang.spec index 7e4068e..878fb41 100644 --- a/erlang.spec +++ b/erlang.spec @@ -2,7 +2,7 @@ %{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} -%ifarch %{arm} %{mips} riscv64 +%ifarch %{arm} %{mips} riscv64 %{ix86} # MIPS and RISC-V does not have all dependencies for fop yet. # For some reason, fop hangs on arm, so for now don't generate docs by # default @@ -25,7 +25,12 @@ %global __with_emacs 1 %global __with_examples 1 +%ifarch %{java_arches} %global __with_java 1 +%else +%global __with_java 0 +%endif +%global __with_sources 1 # # wxWidgets plugin blocks the following ones: # @@ -63,15 +68,13 @@ Name: erlang -Version: 24.3.4.11 +Version: 26.2.5.16 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment -License: ASL 2.0 +License: Apache-2.0 URL: https://www.erlang.org -%if ! (0%{?rhel} && 0%{?rhel} <= 6) -VCS: scm:git:https://github.com/erlang/otp -%endif +VCS: git:https://github.com/erlang/otp.git Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz Source5: epmd.service Source6: epmd.socket @@ -100,14 +103,16 @@ Patch2: otp-0002-Remove-rpath.patch Patch3: otp-0003-Do-not-install-C-sources.patch Patch4: otp-0004-Do-not-install-Java-sources.patch Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch -Patch6: otp-0006-Do-not-install-erlang-sources.patch -Patch7: otp-0007-Add-extra-search-directory.patch -Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch -Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch +Patch6: otp-0006-Add-extra-search-directory.patch +Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch +Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch +Patch9: otp-0009-Add-GDB-tools.patch # end of autogenerated patch tag list BuildRequires: gcc BuildRequires: gcc-c++ +# For gdb-tools +BuildRequires: gdb BuildRequires: flex BuildRequires: make @@ -118,13 +123,11 @@ BuildRequires: erlang %endif %endif -%if ! (0%{?rhel} && 0%{?rhel} <= 6) # for BuildRequires: systemd-devel BuildRequires: systemd %{?systemd_requires} Requires: systemd -%endif BuildRequires: autoconf BuildRequires: automake #BuildRequires: erlang-rpm-macros @@ -174,6 +177,7 @@ Requires: %{name}-reltool%{?_isa} = %{version}-%{release} Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} Requires: %{name}-sasl%{?_isa} = %{version}-%{release} Requires: %{name}-snmp%{?_isa} = %{version}-%{release} +Requires: %{name}-src%{?_isa} = %{version}-%{release} Requires: %{name}-ssh%{?_isa} = %{version}-%{release} Requires: %{name}-ssl%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -238,10 +242,10 @@ A byte code compiler for Erlang which produces highly compact code. %package crypto Summary: Cryptographical support -#BuildRequires: pkgconfig(openssl) -# FIXME there is something wrong with OpenSSL 3.0 support in Erlang right now. -# We have to fallback to OpenSSL1 explicitly. -BuildRequires: openssl1.1-devel +BuildRequires: pkgconfig(openssl) +%if 0%{?fedora} > 40 +BuildRequires: openssl-devel-engine +%endif Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -348,7 +352,6 @@ BuildRequires: m4 BuildRequires: ncurses-devel BuildRequires: zlib-devel # epmd user, epmd group -Requires(pre): shadow-utils Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: lksctp-tools @@ -357,9 +360,10 @@ Requires: lksctp-tools Provides: erlang(erl_drv_version) = 3.3 # See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version). #Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt) -# FIXME has to be 2.16 -Provides: erlang(erl_nif_version) = 2.15 -Provides: bundled(pcre) = 8.33 +Provides: erlang(erl_nif_version) = 2.17 +Provides: bundled(pcre) = 8.44 +# git commit 965d19506ff2aed72e039b8c650b6ef5e9446b8c +Provides: bundled(asmjit) Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder Obsoletes: erlang-gs @@ -411,7 +415,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description examples Examples for some Erlang modules. -%endif %{__with_examples} +%endif # __with_examples %package ftp Summary: FTP client @@ -422,6 +426,14 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description ftp FTP client. +%package gdb-tools +Summary: GDB plugin +License: GPL-3.0-or-later +Requires: gdb + +%description gdb-tools +GDB plugin. + %package inets Summary: A set of services such as a Web server and a HTTP client etc Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -590,6 +602,50 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Simple Network Management Protocol (SNMP) support including a MIB compiler and tools for creating SNMP agents. +%if %{__with_sources} +%package src +Summary: Erlang sources +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-common_test%{?_isa} = %{version}-%{release} +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-debugger%{?_isa} = %{version}-%{release} +Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release} +Requires: %{name}-diameter%{?_isa} = %{version}-%{release} +Requires: %{name}-edoc%{?_isa} = %{version}-%{release} +Requires: %{name}-eldap%{?_isa} = %{version}-%{release} +Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-eunit%{?_isa} = %{version}-%{release} +Requires: %{name}-ftp%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-megaco%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-observer%{?_isa} = %{version}-%{release} +Requires: %{name}-odbc%{?_isa} = %{version}-%{release} +Requires: %{name}-os_mon%{?_isa} = %{version}-%{release} +Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-reltool%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-sasl%{?_isa} = %{version}-%{release} +Requires: %{name}-snmp%{?_isa} = %{version}-%{release} +Requires: %{name}-ssh%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-tftp%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + +%description src +Erlang sources. It may be useful as a reference for code completion tools in +various editors, for documentation or automatical-code generation purposes. +%endif # __with_sources + %package ssh Summary: Secure Shell application with sftp and ssh support Requires: %{name}-crypto%{?_isa} = %{version}-%{release} @@ -648,7 +704,7 @@ Summary: A set of programming tools including a coverage analyzer etc %if %{__with_emacs} BuildRequires: emacs BuildRequires: emacs-el -%endif %{__with_emacs} +%endif # __with_emacs Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-inets%{?_isa} = %{version}-%{release} @@ -659,7 +715,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: emacs-filesystem Obsoletes: emacs-erlang Obsoletes: emacs-erlang-el -%endif %{__with_emacs} +%endif # __with_emacs %description tools @@ -668,7 +724,7 @@ A set of programming tools including a coverage analyzer etc. %if %{__with_wxwidgets} %package wx Summary: A library for wxWidgets support in Erlang -BuildRequires: wxGTK3-devel +BuildRequires: wxGTK-devel Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -697,6 +753,11 @@ Provides support for XML 1.0. # remove shipped zlib sources #rm -f erts/emulator/zlib/*.[ch] +# Create a sysusers.d config file +cat >erlang.sysusers.conf </dev/null || groupadd -r epmd -getent passwd epmd >/dev/null || \ -useradd -r -g epmd -d /dev/null -s /sbin/nologin \ --c "Erlang Port Mapper Daemon" epmd 2>/dev/null || : %files @@ -1000,14 +1071,14 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %files dialyzer %{_bindir}/dialyzer # FIXME FIXME FIXME this must be installed properly!!!!!! -%{_bindir}/typer +%{_bindir}/erlang-typer %{_libdir}/erlang/bin/dialyzer %{_libdir}/erlang/bin/typer %{_libdir}/erlang/erts-*/bin/dialyzer %{_libdir}/erlang/erts-*/bin/typer %{_libdir}/erlang/lib/dialyzer-*/ %if %{with doc} -%{_mandir}/man1/typer.* +%{_mandir}/man1/erlang-typer.* %{_mandir}/man3/dialyzer.* %endif %endif # __with_wxwidgets @@ -1161,12 +1232,11 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %endif %{_libdir}/erlang/releases/* %{_libdir}/erlang/usr/ -%if ! (0%{?rhel} && 0%{?rhel} <= 6) %{_unitdir}/epmd.service %{_unitdir}/epmd.socket %{_unitdir}/epmd@.service %{_unitdir}/epmd@.socket -%endif +%{_sysusersdir}/erlang.conf %if %{__with_wxwidgets} %files et @@ -1222,7 +1292,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{__with_wxwidgets} %{_libdir}/erlang/lib/wx-*/examples/ %endif # __with_wxwidgets -%endif %{__with_examples} +%endif # __with_examples %files ftp %dir %{_libdir}/erlang/lib/ftp-*/ @@ -1232,6 +1302,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ftp.* %endif +%files gdb-tools +%{_libdir}/gdb/jit-reader.so + %files inets %dir %{_libdir}/erlang/lib/inets-*/ %{_libdir}/erlang/lib/inets-*/ebin @@ -1303,7 +1376,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/pg.* %{_mandir}/man3/rpc.* %{_mandir}/man3/seq_trace.* -%{_mandir}/man3/user.* %{_mandir}/man3/wrap_log_reader.* %{_mandir}/man3/zlib_stub.* %{_mandir}/man4/app.* @@ -1409,7 +1481,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/dbg.* %{_mandir}/man3/dyntrace.* -%{_mandir}/man3/erts_alloc_config.* %{_mandir}/man3/msacc.* %{_mandir}/man3/system_information.* %{_mandir}/man6/runtime_tools.* @@ -1493,6 +1564,13 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man7/TRANSPORT-ADDRESS-MIB.* %endif +%if %{__with_sources} +%files src +%dir %{_libdir}/erlang/lib/*/src/ +%{_libdir}/erlang/lib/*/src/*.erl +%{_libdir}/erlang/lib/*/src/*.yrl +%endif + %files ssh %dir %{_libdir}/erlang/lib/ssh-*/ %{_libdir}/erlang/lib/ssh-*/ebin @@ -1530,6 +1608,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_libdir}/erlang/lib/stdlib-*/include %{_libdir}/erlang/lib/stdlib-*/src %if %{with doc} +%{_mandir}/man3/argparse.* %{_mandir}/man3/array.* %{_mandir}/man3/base64.* %{_mandir}/man3/beam_lib.* @@ -1540,11 +1619,14 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/dict.* %{_mandir}/man3/digraph.* %{_mandir}/man3/digraph_utils.* +%{_mandir}/man3/edlin.* +%{_mandir}/man3/edlin_expand.* %{_mandir}/man3/epp.* %{_mandir}/man3/erl_anno.* %{_mandir}/man3/erl_error.* %{_mandir}/man3/erl_eval.* %{_mandir}/man3/erl_expand_records.* +%{_mandir}/man3/erl_features.* %{_mandir}/man3/erl_id_trans.* %{_mandir}/man3/erl_internal.* %{_mandir}/man3/erl_lint.* @@ -1571,6 +1653,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ms_transform.* %{_mandir}/man3/orddict.* %{_mandir}/man3/ordsets.* +%{_mandir}/man3/peer.* %{_mandir}/man3/pool.* %{_mandir}/man3/proc_lib.* %{_mandir}/man3/proplists.* @@ -1622,7 +1705,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %files tools %dir %{_libdir}/erlang/lib/tools-*/ -%{_libdir}/erlang/lib/tools-*/bin %{_libdir}/erlang/lib/tools-*/ebin %{_libdir}/erlang/lib/tools-*/emacs %{_libdir}/erlang/lib/tools-*/src @@ -1645,7 +1727,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_emacs_sitelispdir}/erlang/*.el %{_emacs_sitelispdir}/erlang/*.elc %{_emacs_sitestartdir}/erlang-init.el -%endif %{__with_emacs} +%endif # __with_emacs %if %{__with_wxwidgets} %files wx @@ -1910,32 +1992,171 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog -* Fri Apr 21 2023 Peter Lemenkov - 24.3.4.11-1 -- Ver. 24.3.4.11 +* Wed Sep 10 2025 Peter Lemenkov - 26.2.5.15-1 +- Ver. 26.2.5.15 -* Fri Mar 17 2023 Peter Lemenkov - 24.3.4.10-1 -- Ver. 24.3.4.10 +* Wed Jul 23 2025 Fedora Release Engineering - 26.2.5.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Fri Feb 24 2023 Peter Lemenkov - 24.3.4.9-1 -- Ver. 24.3.4.9 +* Thu Jul 17 2025 Peter Lemenkov - 26.2.5.14-1 +- Ver. 26.2.5.14 -* Wed Jan 18 2023 Peter Lemenkov - 24.3.4.8-1 -- Ver. 24.3.4.8 +* Fri Jun 20 2025 Peter Lemenkov - 26.2.5.13-3 +- Add GDB tools -* Wed Jan 4 2023 Peter Lemenkov - 24.3.4.7-1 -- Ver. 24.3.4.7 +* Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 +- Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 -* Wed Oct 5 2022 Peter Lemenkov - 24.3.4.6-1 -- Ver. 24.3.4.6 +* Mon Jun 16 2025 Peter Lemenkov - 26.2.5.13-1 +- Ver. 26.2.5.13 -* Mon Sep 19 2022 Peter Lemenkov - 24.3.4.5-1 -- Ver. 24.3.4.5 +* Thu May 8 2025 Peter Lemenkov - 26.2.5.12-1 +- Ver. 26.2.5.12 -* Mon Aug 29 2022 Peter Lemenkov - 24.3.4.4-1 -- Ver. 24.3.4.4 +* Wed Apr 16 2025 Peter Lemenkov - 26.2.5.11-1 +- Ver. 26.2.5.11 -* Thu Aug 18 2022 Peter Lemenkov - 24.3.4.3-1 -- Ver. 24.3.4.3 +* Fri Mar 28 2025 Peter Lemenkov - 26.2.5.10-1 +- Ver. 26.2.5.10 + +* Mon Mar 10 2025 Zbigniew Jedrzejewski-Szmek - 26.2.5.9-2 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Thu Feb 13 2025 Peter Lemenkov - 26.2.5.8-1 +- Ver. 26.2.5.8 + +* Tue Feb 11 2025 Peter Lemenkov - 26.2.5.7-1 +- Ver. 26.2.5.7 + +* Thu Jan 16 2025 Fedora Release Engineering - 26.2.5.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Dec 7 2024 Peter Lemenkov - 26.2.5.6-1 +- Ver. 26.2.5.6 + +* Fri Nov 1 2024 Peter Lemenkov - 26.2.5.5-1 +- Ver. 26.2.5.5 + +* Wed Oct 9 2024 Peter Lemenkov - 26.2.5.4-1 +- Ver. 26.2.5.4 + +* Thu Sep 5 2024 Peter Lemenkov - 26.2.5.3-1 +- Ver. 26.2.5.3 + +* Wed Jul 17 2024 Fedora Release Engineering - 26.2.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jul 10 2024 Peter Lemenkov - 26.2.5.2-1 +- Ver. 26.2.5.2 + +* Wed Jun 26 2024 Peter Lemenkov - 26.2.5.1-1 +- Ver. 26.2.5.1 + +* Sat May 4 2024 Peter Lemenkov - 26.2.5-1 +- Ver. 26.2.5 + +* Sat Apr 13 2024 Peter Lemenkov - 26.2.4-1 +- Ver. 26.2.4 + +* Mon Feb 12 2024 Peter Lemenkov - 26.2.2-1 +- Ver. 26.2.2 + +* Wed Jan 24 2024 Fedora Release Engineering - 26.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 26.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Peter Lemenkov - 26.2.1-1 +- Ver. 26.2.1 + +* Wed Dec 13 2023 Peter Lemenkov - 26.2-1 +- Ver. 26.2 + +* Fri Oct 13 2023 Peter Lemenkov - 26.1.2-1 +- Ver. 26.1.2 + +* Fri Sep 29 2023 Peter Lemenkov - 26.1.1-1 +- Ver. 26.1.1 + +* Wed Sep 20 2023 Peter Lemenkov - 26.1-1 +- Ver. 26.1 + +* Tue Aug 8 2023 Peter Lemenkov - 26.0.2-3 +- Reenable OpenSSL 3 + +* Wed Jul 19 2023 Fedora Release Engineering - 26.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jul 1 2023 Peter Lemenkov - 26.0.2-1 +- Ver. 26.0.2 + +* Fri Jun 9 2023 Peter Lemenkov - 26.0.1-1 +- Ver. 26.0.1 + +* Sat May 20 2023 Peter Lemenkov - 26.0-1 +- Ver. 26.0 + +* Sat May 6 2023 Peter Lemenkov - 25.3.2-1 +- Ver. 25.3.2 + +* Thu Apr 27 2023 Peter Lemenkov - 25.3.1-1 +- Ver. 25.3.1 + +* Wed Mar 8 2023 Peter Lemenkov - 25.3-1 +- Ver. 25.3 + +* Fri Feb 17 2023 Peter Lemenkov - 25.2.3-1 +- Ver. 25.2.3 + +* Mon Jan 30 2023 Peter Lemenkov - 25.2.2-1 +- Ver. 25.2.2 + +* Thu Jan 19 2023 Fedora Release Engineering - 25.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 18 2023 Peter Lemenkov - 25.2.1-1 +- Ver. 25.2.1 + +* Fri Jan 6 2023 Peter Lemenkov - 25.2-3 +- Fix deps + +* Wed Jan 4 2023 Peter Lemenkov - 25.2-2 +- LSP applications require source code to be available (rhbz #2157170). Let's + restore it in a separate package + +* Wed Dec 14 2022 Peter Lemenkov - 25.2-1 +- Ver. 25.2 + +* Sun Nov 27 2022 Mamoru TASAKA - 25.1.2-3 +- Rebuild due to wxGLCanvas ABI change + +* Thu Nov 24 2022 Florian Weimer - 25.1.2-2 +- Fix C99 compatibility issues in configure checks + +* Tue Oct 25 2022 Peter Lemenkov - 25.1.2-1 +- Ver. 25.1.2 + +* Mon Oct 3 2022 Peter Lemenkov - 25.1.1-1 +- Ver. 25.1.1 + +* Wed Sep 21 2022 Peter Lemenkov - 25.1-1 +- Ver. 25.1 + +* Thu Aug 18 2022 Peter Lemenkov - 25.0.4-1 +- Ver. 25.0.4 + +* Thu Jul 28 2022 Peter Lemenkov - 25.0.3-3 +- Rebuild with new wxWidgets + +* Thu Jul 21 2022 Fedora Release Engineering - 25.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 16 2022 Peter Lemenkov - 25.0.3-1 +- Ver. 25.0.3 + +* Tue Jul 12 2022 Peter Lemenkov - 25.0.2-1 +- Ver. 25.0.2 * Thu Jun 23 2022 Peter Lemenkov - 24.3.4.2-1 - Ver. 24.3.4.2 diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch index 23652f1..270792a 100644 --- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch +++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous Signed-off-by: Peter Lemenkov diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in -index e5ff959078..7ceef28103 100644 +index 42af9c87dc..c017e0a4ed 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -550,10 +550,6 @@ endif +@@ -552,10 +552,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif @@ -21,10 +21,10 @@ index e5ff959078..7ceef28103 100644 $(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src" $(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src" diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src -index 7437e073e0..009ffea706 100644 +index b00dd09f1a..2147774f50 100644 --- a/erts/etc/unix/Install.src +++ b/erts/etc/unix/Install.src -@@ -142,14 +142,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . +@@ -143,14 +143,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot . cp -p $Name.boot start.boot cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index 1b34b19..5cadc0c 100644 --- a/otp-0002-Remove-rpath.patch +++ b/otp-0002-Remove-rpath.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove rpath Signed-off-by: Peter Lemenkov diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in -index 4478ed7d9c..3224c705e6 100644 +index aedc9e7a13..b27c2aa01b 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -145,7 +145,7 @@ endif +@@ -147,7 +147,7 @@ endif endif ifeq ($(DYNAMIC_OR_WIN_CRYPTO_LIB),yes) diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index fc8f327..23056c4 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -14,10 +14,10 @@ https://bugzilla.redhat.com/818419 Signed-off-by: Peter Lemenkov diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile -index 8fb3360f83..5fb080f206 100644 +index 82a6b6e87a..5f2fe8ba7d 100644 --- a/lib/asn1/c_src/Makefile +++ b/lib/asn1/c_src/Makefile -@@ -136,8 +136,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -137,8 +137,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" $(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib" @@ -27,10 +27,10 @@ index 8fb3360f83..5fb080f206 100644 release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index 92459f6223..d2c7b7f765 100644 +index fa1ea3cd39..b977b6afe5 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -709,13 +709,11 @@ ifeq (@DYNAMIC_LIB@, yes) +@@ -715,13 +715,11 @@ ifeq (@DYNAMIC_LIB@, yes) endif $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" @@ -50,7 +50,7 @@ index 92459f6223..d2c7b7f765 100644 release_docs: diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index cd409fa54f..c65e817385 100644 +index 3649e2c392..d8c5c68b99 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -251,7 +251,7 @@ release_spec: opt @@ -91,16 +91,3 @@ index 27b156a2c9..f11ff303b6 100644 $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" $(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin" -diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in -index 878aa2cde6..0153885e88 100644 ---- a/lib/tools/c_src/Makefile.in -+++ b/lib/tools/c_src/Makefile.in -@@ -170,8 +170,6 @@ include ../vsn.mk - RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) - - release_spec: all -- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" -- $(INSTALL_DATA) $(EMEM_SRCS) $(EMEM_HEADERS) "$(RELSYSDIR)/c_src" - ifneq ($(PROGS),) - $(INSTALL_DIR) "$(RELSYSDIR)/bin" - $(INSTALL_PROGRAM) $(PROGS) "$(RELSYSDIR)/bin" diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch index f4a08f4..a8037ea 100644 --- a/otp-0004-Do-not-install-Java-sources.patch +++ b/otp-0004-Do-not-install-Java-sources.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not install Java sources Signed-off-by: Peter Lemenkov diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile -index e42fd9468d..35deacbcf3 100644 +index 089cf4ab1a..404654a437 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile @@ -123,8 +123,6 @@ release release_docs release_tests release_html: diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch index c8dbb3c..1965881 100644 --- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch +++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch @@ -28,7 +28,7 @@ index 8e3882bfdc..ea999cf9c7 100644 XML_REF6_FILES = os_mon_app.xml diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index 48a896265b..afb67c1793 100644 +index e28fb12548..ee32f3946f 100644 --- a/lib/os_mon/src/Makefile +++ b/lib/os_mon/src/Makefile @@ -34,7 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN) diff --git a/otp-0007-Add-extra-search-directory.patch b/otp-0006-Add-extra-search-directory.patch similarity index 90% rename from otp-0007-Add-extra-search-directory.patch rename to otp-0006-Add-extra-search-directory.patch index 2b7e1e2..2f872ef 100644 --- a/otp-0007-Add-extra-search-directory.patch +++ b/otp-0006-Add-extra-search-directory.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add extra search directory Signed-off-by: Peter Lemenkov diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl -index 3ab50cafe0..f510535714 100644 +index 7327636751..2e92e77598 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl -@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) -> +@@ -90,11 +90,17 @@ init(Ref, Parent, [Root,Mode]) -> IPath = case Mode of interactive -> diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch deleted file mode 100644 index 67a3dee..0000000 --- a/otp-0006-Do-not-install-erlang-sources.patch +++ /dev/null @@ -1,662 +0,0 @@ -From: Hans Ulrich Niedermann -Date: Mon, 21 Mar 2011 15:41:49 +0100 -Subject: [PATCH] Do not install erlang sources - -Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all. - -Signed-off-by: Peter Lemenkov -Signed-off-by: Hans Ulrich Niedermann - -diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile -index 521e5b6f67..2d818d8f75 100644 ---- a/erts/preloaded/src/Makefile -+++ b/erts/preloaded/src/Makefile -@@ -121,8 +121,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: $(APP_TARGET) -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" - -diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 60a2020dbf..406cc08208 100644 ---- a/lib/asn1/src/Makefile -+++ b/lib/asn1/src/Makefile -@@ -151,7 +151,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" - -diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile -index 7d7b5ed203..9151e4097b 100644 ---- a/lib/common_test/src/Makefile -+++ b/lib/common_test/src/Makefile -@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile -index f015064b39..57f96d2929 100644 ---- a/lib/common_test/test_server/Makefile -+++ b/lib/common_test/test_server/Makefile -@@ -86,9 +86,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_tests_spec: opt - $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" -- $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \ -+ $(INSTALL_DATA) $(TS_HRL_FILES) \ - $(TS_TARGET_FILES) \ -- $(AUTOCONF_FILES) $(CONFIG) \ -+ $(CONFIG) \ - "$(RELEASE_PATH)/test_server" - $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" - -diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile -index f050e134f8..653695aa12 100644 ---- a/lib/compiler/src/Makefile -+++ b/lib/compiler/src/Makefile -@@ -182,8 +182,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ -- $(YRL_FILE) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ -+ "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile -index fea32dc4e3..183c982ff6 100644 ---- a/lib/crypto/src/Makefile -+++ b/lib/crypto/src/Makefile -@@ -81,8 +81,6 @@ docs: - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile -index 118cb6b758..86722d8767 100644 ---- a/lib/debugger/src/Makefile -+++ b/lib/debugger/src/Makefile -@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile -index 5f2c24c3c0..99eddc96e3 100644 ---- a/lib/dialyzer/src/Makefile -+++ b/lib/dialyzer/src/Makefile -@@ -165,7 +165,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ -+ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ - "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index 348cc350e1..9d87858def 100644 ---- a/lib/diameter/src/Makefile -+++ b/lib/diameter/src/Makefile -@@ -260,11 +260,8 @@ release_spec: opt - $(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%) - - $(TARGET_DIRS:%/=release_src_%): release_src_%: -- $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" -- $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ -- $(INTERNAL_HRLS)) \ -- $(filter $*/%, compiler/$(DICT_YRL).yrl) \ -- "$(RELSYSDIR)/src/$*" -+ $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ -+ "$(RELSYSDIR)/src/$*" || true - - $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: - $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" -diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile -index 8acef15248..ead1fd3b0f 100644 ---- a/lib/edoc/src/Makefile -+++ b/lib/edoc/src/Makefile -@@ -87,7 +87,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - - release_docs_spec: - -diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile -index b79a537424..d0b231e5fc 100644 ---- a/lib/eldap/src/Makefile -+++ b/lib/eldap/src/Makefile -@@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -- $(INSTALL_DATA) $(ASN1_HRL) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" -- $(INSTALL_DIR) "$(RELSYSDIR)/asn1" -- $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1" -+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -- $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - - release_docs_spec: - -diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile -index e4339dcb1f..f563d6fd5b 100644 ---- a/lib/erl_docgen/src/Makefile -+++ b/lib/erl_docgen/src/Makefile -@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile -index b6347d8b6d..a695d2cc2d 100644 ---- a/lib/et/src/Makefile -+++ b/lib/et/src/Makefile -@@ -109,7 +109,6 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" -diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile -index 32f75202a0..a89fa7f2d2 100644 ---- a/lib/eunit/src/Makefile -+++ b/lib/eunit/src/Makefile -@@ -121,7 +121,6 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" -diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile -index a1c1f36b70..f2eb86f7ac 100644 ---- a/lib/inets/src/http_client/Makefile -+++ b/lib/inets/src/http_client/Makefile -@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile -index 8248e37c44..1f1b23184b 100644 ---- a/lib/inets/src/http_lib/Makefile -+++ b/lib/inets/src/http_lib/Makefile -@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile -index f66a446d40..2858ae7267 100644 ---- a/lib/inets/src/http_server/Makefile -+++ b/lib/inets/src/http_server/Makefile -@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile -index d85df269ce..0193796bc1 100644 ---- a/lib/inets/src/inets_app/Makefile -+++ b/lib/inets/src/inets_app/Makefile -@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile -index b2299188eb..bee47366f1 100644 ---- a/lib/kernel/src/Makefile -+++ b/lib/kernel/src/Makefile -@@ -229,7 +229,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" -diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile -index ab45548099..5c7a7f0be9 100644 ---- a/lib/megaco/src/app/Makefile -+++ b/lib/megaco/src/app/Makefile -@@ -114,7 +114,7 @@ release_spec: opt - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - -diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile -index 9e33fe3ae5..1db69567bb 100644 ---- a/lib/megaco/src/binary/Makefile -+++ b/lib/megaco/src/binary/Makefile -@@ -154,7 +154,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" - - - release_docs_spec: -diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile -index 869b516b05..fa7d774d84 100644 ---- a/lib/megaco/src/engine/Makefile -+++ b/lib/megaco/src/engine/Makefile -@@ -102,7 +102,7 @@ release_spec: opt - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/engine" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - - -diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index c65e817385..3bc4dea207 100644 ---- a/lib/megaco/src/flex/Makefile.in -+++ b/lib/megaco/src/flex/Makefile.in -@@ -248,7 +248,6 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" - $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) - $(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex" -diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile -index d07db3fa4b..7f421d24cc 100644 ---- a/lib/megaco/src/tcp/Makefile -+++ b/lib/megaco/src/tcp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" - - - release_docs_spec: -diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile -index bb5f80403b..a78a4551a8 100644 ---- a/lib/megaco/src/text/Makefile -+++ b/lib/megaco/src/text/Makefile -@@ -133,7 +133,7 @@ release_spec: opt - $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/text" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" - - - release_docs_spec: -diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile -index 028a63e98e..9e11e9bfb2 100644 ---- a/lib/megaco/src/udp/Makefile -+++ b/lib/megaco/src/udp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" - - - release_docs_spec: -diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile -index dce7a359d3..7051c965b9 100644 ---- a/lib/mnesia/src/Makefile -+++ b/lib/mnesia/src/Makefile -@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile -index 4280557d45..eb43ecec23 100644 ---- a/lib/observer/src/Makefile -+++ b/lib/observer/src/Makefile -@@ -151,7 +151,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" -diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile -index 7ca59495ed..a52ade2fe3 100644 ---- a/lib/odbc/src/Makefile -+++ b/lib/odbc/src/Makefile -@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index afb67c1793..ec6acf1fce 100644 ---- a/lib/os_mon/src/Makefile -+++ b/lib/os_mon/src/Makefile -@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile -index ba206904ec..281cc8657c 100644 ---- a/lib/parsetools/src/Makefile -+++ b/lib/parsetools/src/Makefile -@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile -index 1fef168463..e5411b903b 100644 ---- a/lib/public_key/asn1/Makefile -+++ b/lib/public_key/asn1/Makefile -@@ -96,8 +96,8 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/asn1" -- $(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \ -- $(GEN_ERLS) "$(RELSYSDIR)/asn1" -+ $(INSTALL_DATA) $(ASN_ASNS) $(ASN_HRLS) $(ASN_CONFIGS) \ -+ "$(RELSYSDIR)/asn1" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile -index e27f02eea9..dec54a8414 100644 ---- a/lib/public_key/src/Makefile -+++ b/lib/public_key/src/Makefile -@@ -110,8 +110,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile -index 4bddee4664..c714255548 100644 ---- a/lib/reltool/src/Makefile -+++ b/lib/reltool/src/Makefile -@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile -index 76286c5499..d921f9f294 100644 ---- a/lib/runtime_tools/src/Makefile -+++ b/lib/runtime_tools/src/Makefile -@@ -99,8 +99,6 @@ docs: - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" -diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile -index 16a42caf11..674364281d 100644 ---- a/lib/sasl/src/Makefile -+++ b/lib/sasl/src/Makefile -@@ -94,7 +94,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile -index 1da0f33c9d..9d54271816 100644 ---- a/lib/snmp/src/agent/Makefile -+++ b/lib/snmp/src/agent/Makefile -@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ - "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile -index 02800462a4..133f7c3b59 100644 ---- a/lib/snmp/src/app/Makefile -+++ b/lib/snmp/src/app/Makefile -@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ - "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile -index bbd7f99378..19d1f83dda 100644 ---- a/lib/snmp/src/compile/Makefile -+++ b/lib/snmp/src/compile/Makefile -@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" -- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/bin" -diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile -index 6f5f5d01f9..d6bc5e3e06 100644 ---- a/lib/snmp/src/manager/Makefile -+++ b/lib/snmp/src/manager/Makefile -@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile -index eca2d949d2..4c234caf88 100644 ---- a/lib/snmp/src/misc/Makefile -+++ b/lib/snmp/src/misc/Makefile -@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile -index cc3cfe9e96..9f3cd694f5 100644 ---- a/lib/ssh/src/Makefile -+++ b/lib/ssh/src/Makefile -@@ -182,7 +182,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile -index 1e55bb497d..1cf3cbf5ee 100644 ---- a/lib/ssl/src/Makefile -+++ b/lib/ssl/src/Makefile -@@ -211,7 +211,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile -index 509648cb2b..0ffc2c6ed1 100644 ---- a/lib/stdlib/src/Makefile -+++ b/lib/stdlib/src/Makefile -@@ -221,7 +221,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" -diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile -index af6a472f3d..6796810ac2 100644 ---- a/lib/syntax_tools/src/Makefile -+++ b/lib/syntax_tools/src/Makefile -@@ -96,8 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" - -diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile -index 4ece9ffe28..da95babcea 100644 ---- a/lib/tftp/src/Makefile -+++ b/lib/tftp/src/Makefile -@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile -index cc5bee9a8f..7dfa55cb41 100644 ---- a/lib/tools/src/Makefile -+++ b/lib/tools/src/Makefile -@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ - "$(RELSYSDIR)/ebin" -diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile -index 7e2eb38f2f..939d03670d 100644 ---- a/lib/wx/src/Makefile -+++ b/lib/wx/src/Makefile -@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) - include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" -- $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" -+ $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile -index 51d9190797..1ab65bd2ed 100644 ---- a/lib/xmerl/src/Makefile -+++ b/lib/xmerl/src/Makefile -@@ -218,9 +218,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" -- $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - diff --git a/otp-0008-Avoid-forking-sed-to-get-basename.patch b/otp-0007-Avoid-forking-sed-to-get-basename.patch similarity index 85% rename from otp-0008-Avoid-forking-sed-to-get-basename.patch rename to otp-0007-Avoid-forking-sed-to-get-basename.patch index a0ceb3e..d146ab2 100644 --- a/otp-0008-Avoid-forking-sed-to-get-basename.patch +++ b/otp-0007-Avoid-forking-sed-to-get-basename.patch @@ -4,14 +4,14 @@ Subject: [PATCH] Avoid forking sed to get basename. diff --git a/erts/etc/unix/erl.src.src b/erts/etc/unix/erl.src.src -index 0983132ac1..6b55e8f0f3 100644 +index 536fa139d9..4dcffbc4c8 100644 --- a/erts/etc/unix/erl.src.src +++ b/erts/etc/unix/erl.src.src -@@ -26,7 +26,7 @@ else +@@ -49,7 +49,7 @@ else fi - BINDIR=$ROOTDIR/erts-%VSN%/bin + BINDIR="$ROOTDIR/erts-%VSN%/bin" EMU=%EMULATOR%%EMULATOR_NUMBER% --PROGNAME=`echo $0 | sed 's/.*\///'` +-PROGNAME=`basename "$0"` +PROGNAME=${0##*/} export EMU export ROOTDIR diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0008-Load-man-pages-from-system-wide-directory.patch similarity index 89% rename from otp-0009-Load-man-pages-from-system-wide-directory.patch rename to otp-0008-Load-man-pages-from-system-wide-directory.patch index f9b074b..e014671 100644 --- a/otp-0009-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0008-Load-man-pages-from-system-wide-directory.patch @@ -7,10 +7,10 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index bda9a94a95..e14fdc49b6 100644 +index 888df87e35..14272f06c6 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -724,8 +724,10 @@ int main(int argc, char **argv) +@@ -716,8 +716,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0009-Add-GDB-tools.patch b/otp-0009-Add-GDB-tools.patch new file mode 100644 index 0000000..462324e --- /dev/null +++ b/otp-0009-Add-GDB-tools.patch @@ -0,0 +1,464 @@ +From: Peter Lemenkov +Date: Thu, 19 Jun 2025 13:17:52 +0200 +Subject: [PATCH] Add GDB tools + +* https://github.com/erlang/otp-gdb-tools +* Commit 7b864f58c534699e4124e31ecfda86041b941037. + +Signed-off-by: Peter Lemenkov + +diff --git a/erts/etc/unix/gdb-tools/README.md b/erts/etc/unix/gdb-tools/README.md +new file mode 100644 +index 0000000000..8a6cf92b1d +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/README.md +@@ -0,0 +1,42 @@ ++# Erlang/OTP GDB Tools ++ ++This repository contains GDB tools that cannot ++be part of the main Erlang/OTP repository for licensing ++reasons. The tools are used when building and debugging ++Erlang/OTP with gdb and are installed as needed by the ++Erlang/OTP build system. ++ ++Right now the only tool in this repository is the jit-reader ++which is a plugin to gdb that allows it to read the stack of ++Erlang processes when using the JIT. This allows commands ++such as `backtrace` to show Erlang stackframes. For example: ++ ++``` ++(gdb) bt ++#0 0x00007fffa40005ee in global::call_bif_shared () ++#1 0x00007fffa411eaac in erl_eval:eval_lc1/7 () at erl_eval.erl:929 ++#2 0x00007fffa411e7bc in erl_eval:eval_lc/7 () at erl_eval.erl:917 ++#3 0x00007fffa4296528 in lists:map_1/2 () at lists.erl:2082 ++#4 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#5 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#6 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++..... ++#98 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#99 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#100 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#101 0x00007fffa42963d4 in lists:map/2 () at lists.erl:2077 ++#102 0x00007fffa411e45c in erl_eval:do_apply/7 () at erl_eval.erl:904 ++#103 0x00007fffa45f4c58 in shell:exprs/7 () at shell.erl:893 ++#104 0x00007fffa45f42c4 in shell:eval_exprs/7 () at shell.erl:849 ++#105 0x00007fffa45f3dac in shell:eval_loop/4 () at shell.erl:834 ++#106 0x00007fffa40024b8 in erts_beamasm:normal_exit/0-CodeInfoPrologue () ++Backtrace stopped: previous frame inner to this frame (corrupt stack?) ++(gdb) ++``` ++ ++## Updates of jit-reader ++ ++When updating jit-reader you first need to update this repository ++and push the new version here. Then you need to run ++`./otp_build update_gdb_tools` in the Erlang/OTP repo for ++it to use the correct commit. +diff --git a/erts/etc/unix/gdb-tools/jit-reader.c b/erts/etc/unix/gdb-tools/jit-reader.c +new file mode 100644 +index 0000000000..3c39c5540d +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/jit-reader.c +@@ -0,0 +1,386 @@ ++#include ++ ++#include ++#include ++#include ++#include ++ ++/* Useful links ++ * - https://pwparchive.wordpress.com/2011/11/20/new-jit-interface-for-gdb/ ++ * - https://sourceware.org/gdb/current/onlinedocs/gdb/Custom-Debug-Info.html ++ * - https://github.com/tetzank/asmjit-utilities ++ * - https://github.com/bminor/binutils-gdb/blob/master/gdb/testsuite/gdb.base/jitreader.c ++ */ ++ ++GDB_DECLARE_GPL_COMPATIBLE_READER ++ ++#if 0 ++#define HARD_DEBUG ++static FILE *log = NULL; ++#define LOG(...) do { fprintf(log, ##__VA_ARGS__); fflush(log); } while(0) ++#else ++#define LOG(...) ++#endif ++ ++typedef enum { ++ X64_RBP = 6, /* Frame pointer iff native frames are enabled */ ++ X64_RSP = 7, /* Stack pointer when using native stack */ ++ X64_R12 = 12, /* Stack pointer when using non-native stack */ ++ X64_R13 = 13, /* Current process */ ++ X64_RIP = 16 ++} X64Register; ++ ++typedef enum { ++ /* Return address only */ ++ ERTS_FRAME_LAYOUT_RA, ++ /* Frame pointer, return address */ ++ ERTS_FRAME_LAYOUT_FP_RA ++} ErtsFrameLayout; ++ ++struct emulator_info { ++ /* 0 = regular, 1 = frame pointers */ ++ int frame_layout; ++ const void *normal_exit; ++}; ++ ++struct erlang_module_info { ++ uint64_t base_address; ++ uint32_t range_count; ++ uint32_t code_size; ++ /* Module name, including null terminator. */ ++ uint16_t name_length; ++ char name[]; ++ /* array of range_info structures */ ++}; ++ ++struct range_info { ++ uint32_t start_offset; ++ uint32_t end_offset; ++ uint32_t line_count; ++ /* Range name, including null terminator. */ ++ uint16_t name_length; ++ char name[]; ++ /* array of line_info structures */ ++}; ++ ++struct line_info { ++ uint32_t start_offset; ++ uint32_t line_number; ++ /* File name, including null terminator. */ ++ uint16_t file_length; ++ char file[]; ++}; ++ ++enum debug_info_header { ++ DEBUG_INFO_HEADER_EMULATOR = 0, ++ DEBUG_INFO_HEADER_MODULE = 1, ++}; ++ ++struct debug_info { ++ enum debug_info_header header; ++ union { ++ struct emulator_info emu; ++ struct erlang_module_info mod; ++ } payload; ++}; ++ ++typedef struct range { ++ GDB_CORE_ADDR start; ++ GDB_CORE_ADDR end; ++#ifdef HARD_DEBUG ++ char *name; ++#endif ++} range; ++ ++typedef struct priv { ++ range *ranges; ++ int num_ranges; ++ ErtsFrameLayout frame_layout; ++ const void *normal_exit; ++} priv; ++ ++static enum gdb_status read_module_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ struct erlang_module_info *module_info) { ++ struct gdb_object *obj = cb->object_open(cb); ++ GDB_CORE_ADDR mod_start, mod_end; ++ char *symfile = (char*)module_info; ++ priv *priv = self->priv_data; ++ ++ symfile += sizeof(*module_info) + module_info->name_length; ++ ++ mod_start = module_info->base_address; ++ mod_end = mod_start + module_info->code_size; ++ ++ priv->ranges = realloc(priv->ranges, (priv->num_ranges + 1) * sizeof(range)); ++ priv->ranges[priv->num_ranges].start = mod_start; ++ priv->ranges[priv->num_ranges].end = mod_end; ++#ifdef HARD_DEBUG ++ priv->ranges[priv->num_ranges].name = strdup(module_info->name); ++#endif ++ priv->num_ranges += 1; ++ ++ LOG("Add module `%s` (0x%lx, 0x%lx)\r\n", ++ module_info->name, mod_start, mod_end); ++ ++ for (int range = 0; range < module_info->range_count; range++) { ++ struct range_info *range_info; ++ struct gdb_symtab *symtab; ++ GDB_CORE_ADDR begin, end; ++ ++ range_info = (struct range_info *)symfile; ++ symfile += sizeof(*range_info) + range_info->name_length; ++ ++ begin = mod_start + range_info->start_offset; ++ end = mod_start + range_info->end_offset; ++ ++ LOG("Add range `%s` (0x%lx, 0x%lx), %u lines\r\n", ++ range_info->name, ++ begin, end, ++ range_info->line_count); ++ ++ /* A bug in GDB < 9 forces us to open and close the symtab for each ++ * iteration. */ ++ symtab = cb->symtab_open(cb, obj, module_info->name); ++ cb->block_open(cb, symtab, NULL, begin, end, range_info->name); ++ cb->symtab_close(cb, symtab); ++ ++ for (int line = 0; line < range_info->line_count; line++) { ++ struct gdb_line_mapping line_mapping; ++ struct line_info *line_info; ++ ++ line_info = (struct line_info *)symfile; ++ symfile += sizeof(*line_info) + line_info->file_length; ++ ++ line_mapping.pc = mod_start + line_info->start_offset; ++ line_mapping.line = line_info->line_number; ++ ++ LOG("\t%s:%u\r\n", line_info->file, line_info->line_number); ++ ++ /* The symbol table must be opened and closed on every single line ++ * for file names to work properly, as there is no other way to ++ * tell GDB that a certain line belongs to a different file than ++ * the rest of the table. Sigh. */ ++ symtab = cb->symtab_open(cb, obj, line_info->file); ++ ++ cb->block_open(cb, symtab, NULL, line_mapping.pc, end, ++ range_info->name); ++ cb->line_mapping_add(cb, symtab, 1, &line_mapping); ++ cb->symtab_close(cb, symtab); ++ } ++ } ++ ++ cb->object_close(cb, obj); ++ ++ return GDB_SUCCESS; ++} ++ ++static enum gdb_status read_emulator_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ struct emulator_info *emulator_info) { ++ priv *priv = self->priv_data; ++ ++ priv->frame_layout = emulator_info->frame_layout; ++ priv->normal_exit = emulator_info->normal_exit; ++ ++ LOG("initialize: frame layout = %i\r\n", priv->frame_layout); ++ ++ return GDB_SUCCESS; ++} ++ ++static enum gdb_status read_debug_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ void *memory, long memory_sz) { ++ struct debug_info *debug_info = memory; ++ ++ (void)memory_sz; ++ ++ switch (debug_info->header) { ++ case DEBUG_INFO_HEADER_EMULATOR: ++ return read_emulator_info(self, cb, &debug_info->payload.emu); ++ case DEBUG_INFO_HEADER_MODULE: ++ return read_module_info(self, cb, &debug_info->payload.mod); ++ } ++ ++ return GDB_FAIL; ++} ++ ++static void regfree(struct gdb_reg_value *reg) { ++ free(reg); ++} ++ ++static struct range *get_range(priv *priv, GDB_CORE_ADDR rip) { ++ for (int i = 0; i < priv->num_ranges; i++) { ++ if (rip >= priv->ranges[i].start && rip < priv->ranges[i].end) { ++ return &priv->ranges[i]; ++ } ++ } ++ ++ return NULL; ++} ++ ++static enum gdb_status unwind(struct gdb_reader_funcs *self, ++ struct gdb_unwind_callbacks *cb) { ++ GDB_CORE_ADDR rbp, rsp, rip; ++ struct range *range; ++ priv *priv; ++ ++ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; ++ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; ++ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; ++ ++ priv = self->priv_data; ++ range = get_range(priv, rip); ++ ++ /* Check that rip points to one of the addresses that we handle */ ++ if (range) { ++ struct gdb_reg_value *prev_rbp, *prev_rsp, *prev_rip; ++ ++ prev_rbp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ prev_rsp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ prev_rip = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ ++ LOG("UNWIND match %s: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx \r\n", ++ range->name, rbp, rsp, rip); ++ ++ prev_rbp->free = ®free; ++ prev_rbp->defined = 1; ++ prev_rbp->size = sizeof(char*); ++ prev_rsp->free = ®free; ++ prev_rsp->defined = 1; ++ prev_rsp->size = sizeof(char*); ++ prev_rip->free = ®free; ++ prev_rip->defined = 1; ++ prev_rip->size = sizeof(char*); ++ ++ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { ++ /* Frame pointers are enabled, which means that rbp will point to ++ * where we stored the previous frames rbp. Also the previous ++ * frames address will be at rbp + 8 and the previous frames rsp ++ * will be rbp + 16. ++ * ++ * 0x00: <- prev_rsp ++ * 0x08: prev call addr ++ * 0x10: prev rbp <- curr rbp ++ * 0x18: current frame ++ * 0x20: <- curr rip */ ++ cb->target_read(rbp + 1 * sizeof(char*), &prev_rip->value, ++ sizeof(char*)); ++ cb->target_read(rbp + 0 * sizeof(char*), &prev_rbp->value, ++ sizeof(char*)); ++ *(GDB_CORE_ADDR*)prev_rsp->value = rbp + sizeof(char*[2]); ++ } else { ++ /* Normal frame layout, we need to scan the stack. */ ++ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); ++ ++ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { ++ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); ++ ++ LOG("rsp: 0x%lx rip: 0x%lx\r\n", ++ rsp, *(GDB_CORE_ADDR*)prev_rip->value); ++ ++ /* Check if it is a cp */ ++ if ((*(GDB_CORE_ADDR*)prev_rip->value & 0x3) == 0) { ++ break; ++ } ++ } ++ ++ *(GDB_CORE_ADDR*)prev_rsp->value = rsp; ++ *(GDB_CORE_ADDR*)prev_rbp->value = rsp - sizeof(char*); ++ } ++ ++ if (*(GDB_CORE_ADDR*)prev_rip->value == (uintptr_t)priv->normal_exit) { ++ LOG("Normal exit\r\n"); ++ *(GDB_CORE_ADDR*)prev_rsp->value = 0; ++ *(GDB_CORE_ADDR*)prev_rbp->value = 0; ++ } else { ++ LOG("UNWIND prev: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", ++ *(GDB_CORE_ADDR*)prev_rbp->value, ++ *(GDB_CORE_ADDR*)prev_rsp->value, ++ *(GDB_CORE_ADDR*)prev_rip->value); ++ } ++ ++ cb->reg_set(cb, X64_RIP, prev_rip); ++ cb->reg_set(cb, X64_RSP, prev_rsp); ++ cb->reg_set(cb, X64_RBP, prev_rbp); ++ ++ return GDB_SUCCESS; ++ } ++ ++ LOG("UNWIND no match: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", rbp, rsp, rip); ++ return GDB_FAIL; ++} ++ ++static struct gdb_frame_id get_frame_id(struct gdb_reader_funcs *self, ++ struct gdb_unwind_callbacks *cb){ ++ struct gdb_frame_id frame = {0, 0}; ++ GDB_CORE_ADDR rbp, rsp, rip; ++ struct range *range; ++ priv *priv; ++ ++ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; ++ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; ++ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; ++ ++ priv = self->priv_data; ++ range = get_range(priv, rip); ++ ++ LOG("FRAME: rip: 0x%lx rsp: 0x%lx rbp: 0x%lx \r\n", rip, rsp, rbp); ++ ++ if (range) { ++ frame.code_address = rip; ++ ++ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { ++ frame.stack_address = rbp + sizeof(char*); ++ } else { ++ GDB_CORE_ADDR prev_rip; ++ ++ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { ++ cb->target_read(rsp, &prev_rip, sizeof(char*)); ++ ++ LOG("rsp: 0x%lx rip: 0x%lx\r\n", rsp, prev_rip); ++ ++ /* Check if it is a cp */ ++ if ((prev_rip & 0x3) == 0) { ++ break; ++ } ++ } ++ ++ frame.stack_address = rsp; ++ } ++ } ++ ++ LOG("FRAME: code_address: 0x%lx stack_address: 0x%lx\r\n", ++ frame.code_address, frame.stack_address); ++ ++ return frame; ++} ++ ++static void destroy(struct gdb_reader_funcs *self){ ++ free(self); ++} ++ ++struct gdb_reader_funcs *gdb_init_reader(void){ ++ struct gdb_reader_funcs *funcs = malloc(sizeof(struct gdb_reader_funcs)); ++ priv *priv_data = malloc(sizeof(priv)); ++ ++ priv_data->num_ranges = 1; ++ priv_data->ranges = malloc(sizeof(range)); ++ priv_data->ranges[0].start = 0; ++ priv_data->ranges[0].end = 0; ++ ++ funcs->reader_version = GDB_READER_INTERFACE_VERSION; ++ funcs->priv_data = priv_data; ++ ++ funcs->read = read_debug_info; ++ funcs->unwind = unwind; ++ funcs->get_frame_id = get_frame_id; ++ funcs->destroy = destroy; ++ ++#ifdef HARD_DEBUG ++ log = fopen("/tmp/jit-reader.log","w+"); ++ if (!log) fprintf(stderr,"Could not open /tmp/jit-reader.log"); ++#endif ++ ++ return funcs; ++} +diff --git a/erts/etc/unix/gdb-tools/jit-reader.mk b/erts/etc/unix/gdb-tools/jit-reader.mk +new file mode 100644 +index 0000000000..8ef0bccec2 +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/jit-reader.mk +@@ -0,0 +1,9 @@ ++EXTRA_LIBS = $(BINDIR)/jit-reader.so ++ ++jit-reader: $(EXTRA_LIBS) ++ ++$(OBJDIR)/jit-reader.o: $(GDB_TOOLS)/jit-reader.c $(GDB_TOOLS)/jit-reader.h ++ $(V_CC) $(DED_CFLAGS) -I$(ETC) -o $@ -c $< ++ ++$(BINDIR)/jit-reader.so: $(OBJDIR)/jit-reader.o ++ $(V_LD) $(DED_LDFLAGS) -o $@ $^ diff --git a/sources b/sources index 2b678b5..674a546 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-24.3.4.11.tar.gz) = 80736505e9a436ff4ea5635738b90ae094feb615892cc0af29cc6514593629723eeb22747b1f0ff5cda1f8e9d2e9401e9e83386221e14feeae35c29a5377e26d +SHA512 (otp-OTP-26.2.5.16.tar.gz) = 4e973be7e8ccad196d59759108a521535b0f046268eb0406f789a50f411fa27c9c11fcfb61a7218605bf1b32921bb52c52fc7c99917e1acfc0d3ed09437129b2