mirror of
https://github.com/verilator/verilator.git
synced 2025-01-01 04:07:34 +00:00
Configure for faster C++ linking using 'mold', if it is installed.
This commit is contained in:
parent
19d0aabe7a
commit
426069a4dd
1
Changes
1
Changes
@ -21,6 +21,7 @@ Verilator 5.011 devel
|
|||||||
* Support get_randstate/set_randstate class method function.
|
* Support get_randstate/set_randstate class method function.
|
||||||
* Add creating __inputs.vpp file with --debug (#4177). [Tudor Timi]
|
* Add creating __inputs.vpp file with --debug (#4177). [Tudor Timi]
|
||||||
* Optimize VPI callValueCbs (#4155). [Hennadii Chernyshchyk]
|
* Optimize VPI callValueCbs (#4155). [Hennadii Chernyshchyk]
|
||||||
|
* Configure for faster C++ linking using 'mold', if it is installed.
|
||||||
* Fix crash on duplicate imported modules (#3231). [Robert Balas]
|
* Fix crash on duplicate imported modules (#3231). [Robert Balas]
|
||||||
* Fix false WIDTHEXPAND on array declarations (#3959). [JOTEGO]
|
* Fix false WIDTHEXPAND on array declarations (#3959). [JOTEGO]
|
||||||
* Fix marking overridden methods as coroutines (#4120) (#4169). [Krzysztof Bieganski, Antmicro Ltd]
|
* Fix marking overridden methods as coroutines (#4120) (#4169). [Krzysztof Bieganski, Antmicro Ltd]
|
||||||
|
@ -63,8 +63,8 @@ if [ "$CI_BUILD_STAGE_NAME" = "build" ]; then
|
|||||||
sudo apt-get install ccache help2man libfl-dev
|
sudo apt-get install ccache help2man libfl-dev
|
||||||
if [ "$CI_RUNS_ON" != "ubuntu-22.04" ]; then
|
if [ "$CI_RUNS_ON" != "ubuntu-22.04" ]; then
|
||||||
# Some conflict of libunwind verison on 22.04, can live without it for now
|
# Some conflict of libunwind verison on 22.04, can live without it for now
|
||||||
sudo apt-get install libgoogle-perftools-dev ||
|
sudo apt-get install libgoogle-perftools-dev mold ||
|
||||||
sudo apt-get install libgoogle-perftools-dev
|
sudo apt-get install libgoogle-perftools-dev mold
|
||||||
fi
|
fi
|
||||||
if [ "$CI_RUNS_ON" = "ubuntu-20.04" ] || [ "$CI_RUNS_ON" = "ubuntu-22.04" ]; then
|
if [ "$CI_RUNS_ON" = "ubuntu-20.04" ] || [ "$CI_RUNS_ON" = "ubuntu-22.04" ]; then
|
||||||
sudo apt-get install libsystemc libsystemc-dev ||
|
sudo apt-get install libsystemc libsystemc-dev ||
|
||||||
|
@ -470,6 +470,10 @@ m4_foreach([ldflag], [
|
|||||||
AC_SUBST(CFG_LDLIBS_THREADS)
|
AC_SUBST(CFG_LDLIBS_THREADS)
|
||||||
AC_SUBST(CFG_LDFLAGS_THREADS_CMAKE)
|
AC_SUBST(CFG_LDFLAGS_THREADS_CMAKE)
|
||||||
|
|
||||||
|
# If 'mold' is installed, use it to link for faster buildtimes
|
||||||
|
_MY_LDLIBS_CHECK_OPT(CFG_LDFLAGS_SRC, -fuse-ld=mold)
|
||||||
|
_MY_LDLIBS_CHECK_OPT(CFG_LDFLAGS_VERILATED, -fuse-ld=mold)
|
||||||
|
|
||||||
# When linking partially statically
|
# When linking partially statically
|
||||||
if test "$CFG_ENABLE_PARTIAL_STATIC" = "yes"; then
|
if test "$CFG_ENABLE_PARTIAL_STATIC" = "yes"; then
|
||||||
_MY_LDLIBS_CHECK_OPT(CFG_LDFLAGS_SRC, -static-libgcc)
|
_MY_LDLIBS_CHECK_OPT(CFG_LDFLAGS_SRC, -static-libgcc)
|
||||||
@ -480,6 +484,7 @@ else
|
|||||||
LTCMALLOC=-ltcmalloc_minimal
|
LTCMALLOC=-ltcmalloc_minimal
|
||||||
fi
|
fi
|
||||||
AC_SUBST(CFG_LDFLAGS_SRC)
|
AC_SUBST(CFG_LDFLAGS_SRC)
|
||||||
|
AC_SUBST(CFG_LDFLAGS_VERILATED)
|
||||||
|
|
||||||
# The pthread library is required by tcmalloc, so add it if it exists. If it
|
# The pthread library is required by tcmalloc, so add it if it exists. If it
|
||||||
# does not, the tcmalloc check below will fail anyway, and linking against
|
# does not, the tcmalloc check below will fail anyway, and linking against
|
||||||
|
@ -104,6 +104,7 @@ for good performance:
|
|||||||
::
|
::
|
||||||
|
|
||||||
sudo apt-get install ccache # If present at build, needed for run
|
sudo apt-get install ccache # If present at build, needed for run
|
||||||
|
sudo apt-get install mold # If present at build, needed for run
|
||||||
sudo apt-get install libgoogle-perftools-dev numactl
|
sudo apt-get install libgoogle-perftools-dev numactl
|
||||||
|
|
||||||
The following is optional but is recommended for nicely rendered command line
|
The following is optional but is recommended for nicely rendered command line
|
||||||
@ -124,7 +125,7 @@ Those developing Verilator itself may also want these (see internals.rst):
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
sudo apt-get install gdb graphviz cmake clang clang-format-14 gprof lcov
|
sudo apt-get install clang clang-format-14 cmake gdb gprof graphviz lcov
|
||||||
sudo apt-get install libclang-dev yapf3
|
sudo apt-get install libclang-dev yapf3
|
||||||
sudo pip3 install clang sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff
|
sudo pip3 install clang sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff
|
||||||
cpan install Pod::Perldoc
|
cpan install Pod::Perldoc
|
||||||
|
@ -31,6 +31,8 @@ CFG_CXXFLAGS_NO_UNUSED = @CFG_CXXFLAGS_NO_UNUSED@
|
|||||||
CFG_CXXFLAGS_WEXTRA = @CFG_CXXFLAGS_WEXTRA@
|
CFG_CXXFLAGS_WEXTRA = @CFG_CXXFLAGS_WEXTRA@
|
||||||
# Compiler flags that enable coroutine support
|
# Compiler flags that enable coroutine support
|
||||||
CFG_CXXFLAGS_COROUTINES = @CFG_CXXFLAGS_COROUTINES@
|
CFG_CXXFLAGS_COROUTINES = @CFG_CXXFLAGS_COROUTINES@
|
||||||
|
# Linker flags
|
||||||
|
CFG_LDFLAGS_VERILATED = @CFG_LDFLAGS_VERILATED@
|
||||||
# Linker libraries for multithreading
|
# Linker libraries for multithreading
|
||||||
CFG_LDLIBS_THREADS = @CFG_LDLIBS_THREADS@
|
CFG_LDLIBS_THREADS = @CFG_LDLIBS_THREADS@
|
||||||
|
|
||||||
@ -77,6 +79,8 @@ VPATH += ..
|
|||||||
VPATH += $(VERILATOR_ROOT)/include
|
VPATH += $(VERILATOR_ROOT)/include
|
||||||
VPATH += $(VERILATOR_ROOT)/include/vltstd
|
VPATH += $(VERILATOR_ROOT)/include/vltstd
|
||||||
|
|
||||||
|
LDFLAGS += $(CFG_LDFLAGS_VERILATED)
|
||||||
|
|
||||||
#OPT = -ggdb -DPRINTINITSTR -DDETECTCHANGE
|
#OPT = -ggdb -DPRINTINITSTR -DDETECTCHANGE
|
||||||
#OPT = -ggdb -DPRINTINITSTR
|
#OPT = -ggdb -DPRINTINITSTR
|
||||||
CPPFLAGS += $(OPT)
|
CPPFLAGS += $(OPT)
|
||||||
|
Loading…
Reference in New Issue
Block a user