pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/mold mold: update to 0.9.5.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/54f2679ac293
branches:  trunk
changeset: 458194:54f2679ac293
user:      fcambus <fcambus%pkgsrc.org@localhost>
date:      Sat Sep 11 15:40:23 2021 +0000

description:
mold: update to 0.9.5.

Highlights of mold 0.9.5:

- In 0.9.4, we changed the mold's behavior on remaining weak undefined
  symbols, so that they would be resolved to address zero if we were
  creating a shared object file with the -z defs option. Now, such symbols
  will be promoted to dynamic symbols so that they'll get another chance
  to be resolved at run-time. This change fixes a regression of Firefox
  build failure (#114), which depends on this particular linker behavior
  to export symbols from libxul.so.
- mold can now be built on macOS. Note that mold is still able to produce
  only ELF (Unix) files — so you can use it for cross compilation on
  macOS for Linux, but you can't use mold for macOS native development.
- Relocation overflow are now reported as errors on AArch64 and
  i386. Previously, such relocations were silently producing incorrect
  output.


Highlights of mold 0.9.4:

- mold -run now intercepts invocations of ld, ld.lld and ld.gold wherever
  they are in the directory hierarchy. Previously, they were intercepted
  only if they were in /usr/bin. This change was made because it is not
  uncommon to install a compiler toolchain into a directory other than
  the system bin directory.
- AArch64 (Arm 64-bit) support has been significantly improved. mold
  can now link many real-world programs including itself for AArch64.
- Fix an issue that relocation addends were not handled correctly
  for i386.
- mold is now able to link LLVM compiler-rt's CRT files.
- Fix an issue that a dynamic relocation was created for a read-only
  section if the relocation refers an unresolved weak symbol.
- Undefined weak symbols are now always resolved to address 0 instead
  of being promoted to dynamic symbols.

diffstat:

 devel/mold/Makefile               |   4 ++--
 devel/mold/distinfo               |  12 ++++++------
 devel/mold/patches/patch-Makefile |  39 +++++++++++++++++----------------------
 3 files changed, 25 insertions(+), 30 deletions(-)

diffs (94 lines):

diff -r e006339fcbec -r 54f2679ac293 devel/mold/Makefile
--- a/devel/mold/Makefile       Sat Sep 11 15:32:09 2021 +0000
+++ b/devel/mold/Makefile       Sat Sep 11 15:40:23 2021 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2021/07/29 21:17:17 fcambus Exp $
+# $NetBSD: Makefile,v 1.2 2021/09/11 15:40:23 fcambus Exp $
 
-DISTNAME=      mold-0.9.3
+DISTNAME=      mold-0.9.5
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=rui314/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
diff -r e006339fcbec -r 54f2679ac293 devel/mold/distinfo
--- a/devel/mold/distinfo       Sat Sep 11 15:32:09 2021 +0000
+++ b/devel/mold/distinfo       Sat Sep 11 15:40:23 2021 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.1 2021/07/29 21:17:17 fcambus Exp $
+$NetBSD: distinfo,v 1.2 2021/09/11 15:40:23 fcambus Exp $
 
-SHA1 (mold-0.9.3.tar.gz) = 1de86f59f5944394ecd1fdbd9f649273d6154f49
-RMD160 (mold-0.9.3.tar.gz) = ca0b058e579db04040f51d1ad669d2911d64b5e1
-SHA512 (mold-0.9.3.tar.gz) = 5b4850a00a5b2cb63c1aff13ef8d2cfdd79088187e1d82c6c0abad81d0c81866253533c67164db03a5d663fc48f5246f930a286ed6ca5b47ef658587be930fd0
-Size (mold-0.9.3.tar.gz) = 3374270 bytes
-SHA1 (patch-Makefile) = c1d3e55b6413df800cf92301d6e9726ff7e81569
+SHA1 (mold-0.9.5.tar.gz) = d832df292e65f4c51350aa02a61ff208e8fbe65d
+RMD160 (mold-0.9.5.tar.gz) = c9314ae8edb09c45f6e074e328925408c109be8b
+SHA512 (mold-0.9.5.tar.gz) = b05d399eecaca37d98745382ba201f62e6042613290b1dec6f08bfc133172ccb91603898acb3f54e2985fe3d7334c954c389da498a1ccef6b65053815b8aeb46
+Size (mold-0.9.5.tar.gz) = 3377285 bytes
+SHA1 (patch-Makefile) = 4261f5ab271aac71a3b476250b32eb8dab87b333
diff -r e006339fcbec -r 54f2679ac293 devel/mold/patches/patch-Makefile
--- a/devel/mold/patches/patch-Makefile Sat Sep 11 15:32:09 2021 +0000
+++ b/devel/mold/patches/patch-Makefile Sat Sep 11 15:40:23 2021 +0000
@@ -1,27 +1,22 @@
-$NetBSD: patch-Makefile,v 1.1 2021/07/29 21:17:17 fcambus Exp $
+$NetBSD: patch-Makefile,v 1.2 2021/09/11 15:40:23 fcambus Exp $
 
-- Do not hardcode CC and CXX.
 - Remove hardcoded debug flag.
 - Remove hardcoded optimizations.
 - Do not gzip manual pages.
 - Fix manual page installation path.
 
---- Makefile.orig      2021-07-29 09:10:45.841721744 +0000
+--- Makefile.orig      2021-09-06 12:06:34.000000000 +0000
 +++ Makefile
-@@ -1,9 +1,9 @@
--CC = clang
--CXX = clang++
-+CC ?= clang
-+CXX ?= clang++
+@@ -10,7 +10,7 @@ GIT_HASH ?= $(shell [ -d .git ] && git r
+ 
+ OS ?= $(shell uname -s)
  
- GIT_HASH ?= $(shell [ -d .git ] && git rev-parse HEAD)
- 
--CPPFLAGS = -g -Imimalloc/include -pthread -std=c++20 \
-+CPPFLAGS = -Imimalloc/include -pthread -std=c++20 \
-            -DMOLD_VERSION=\"0.9.3\" \
+-CPPFLAGS = -g -pthread -std=c++20 -fPIE \
++CPPFLAGS = -pthread -std=c++20 -fPIE \
+            -DMOLD_VERSION=\"0.9.5\" \
             -DGIT_HASH=\"$(GIT_HASH)\" \
           $(EXTRA_CPPFLAGS)
-@@ -25,7 +25,6 @@ TSAN ?= 0
+@@ -31,7 +31,6 @@ TSAN ?= 0
  ifeq ($(DEBUG), 1)
    CPPFLAGS += -O0
  else
@@ -29,16 +24,16 @@
  endif
  
  ifeq ($(LTO), 1)
-@@ -95,10 +95,8 @@ install: all
-       install -m 644 mold-wrapper.so $(DESTDIR)$(PREFIX)/lib/mold
-       strip $(DESTDIR)$(PREFIX)/lib/mold/mold-wrapper.so
+@@ -104,10 +103,8 @@ install: all
+       install -m 644 mold-wrapper.so $(DEST)/lib/mold
+       strip $(DEST)/lib/mold/mold-wrapper.so
  
--      install -m 755 -d $(DESTDIR)$(PREFIX)/share/man/man1
--      install -m 644 docs/mold.1 $(DESTDIR)$(PREFIX)/share/man/man1
--      rm -f $(DESTDIR)$(PREFIX)/share/man/man1/mold.1.gz
--      gzip -9 $(DESTDIR)$(PREFIX)/share/man/man1/mold.1
+-      install -m 755 -d $(DEST)/share/man/man1
+-      install -m 644 docs/mold.1 $(DEST)/share/man/man1
+-      rm -f $(DEST)/share/man/man1/mold.1.gz
+-      gzip -9 $(DEST)/share/man/man1/mold.1
 +      install -m 755 -d $(DESTDIR)$(MAN_DIR)/man1
 +      install -m 644 docs/mold.1 $(DESTDIR)$(MAN_DIR)/man1
  
  uninstall:
-       rm -f $(DESTDIR)$(PREFIX)/bin/mold
+       rm -f $(DEST)/bin/mold


Home | Main Index | Thread Index | Old Index