aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2009-11-30 06:12:58 +0000
committerErlang/OTP <[email protected]>2009-11-30 06:12:58 +0000
commit8de72c631091899ae47a940c862e32ec2a2ffe88 (patch)
tree042bf234826149e216adae6a8c63cca7db3d0787 /README
parent9d6440bf3be15db070371b4c74cc59cacf33eea4 (diff)
parent73623deb21215c6283f4df5a775472ed08d03135 (diff)
downloadotp-8de72c631091899ae47a940c862e32ec2a2ffe88.tar.gz
otp-8de72c631091899ae47a940c862e32ec2a2ffe88.tar.bz2
otp-8de72c631091899ae47a940c862e32ec2a2ffe88.zip
Merge branch 'egil/readme-debug-emulator' into ccase/r13b04_dev
* egil/readme-debug-emulator: README: Add build instructions for a debug-enabled emulator
Diffstat (limited to 'README')
-rw-r--r--README39
1 files changed, 37 insertions, 2 deletions
diff --git a/README b/README
index fa430e7aab..51a9ddb756 100644
--- a/README
+++ b/README
@@ -59,7 +59,7 @@ Suse linux 9.1 is shipped with a patched GCC version 3.3.3, having the
rpm named gcc-3.3.3-41. That version has a serious optimization bug
that makes it unusable for building the Erlang emulator. Please
upgrade GCC to a newer version before building on Suse 9.1. Suse Linux
-EnterpriSe edition 9 (SLES9) has gcc-3.3.3-43 and is not affected.
+Enterprise edition 9 (SLES9) has gcc-3.3.3-43 and is not affected.
gcc-4.3.0 has a serious optimizer bug. It produces an Erlang emulator
that will crash immediately. The bug is supposed to be fixed in gcc-4.3.1.
@@ -130,7 +130,7 @@ Installing
How to build and install Erlang/OTP
-----------------------------------
-If you are building in a Git reposistory, see
+If you are building in a Git repository, see
http://wiki.github.com/erlang/otp
@@ -243,6 +243,41 @@ if './otp_build remove_prebuilt_files' is invoked.
If you or your system has special requirements please read the
Makefile for additional configuration information.
+
+How to build a debug enabled Erlang runtime system
+--------------------------------------------------
+
+After completing all the normal building steps described above a debug
+enabled runtime system can be built. To do this you have to change
+directory to $ERL_TOP/erts/emulator.
+
+In this directory execute:
+
+ make debug FLAVOR=$FLAVOR
+
+where $FLAVOR is either "plain" or "smp". The flavor options will
+produce a beam.debug and beam.smp.debug executable respectively. The
+files are installed along side with the normal (opt) versions beam.smp
+and beam.
+
+To start the debug enabled runtime system execute:
+
+ $ERL_TOP/bin/cerl -debug
+
+The debug enabled runtime system features lock violation checking,
+assert checking and various sanity checks to help a developer ensure
+correctness. Some of these features can be enabled on a normal beam
+using appropriate configure options.
+
+There are other types of runtime systems that can be built as well
+using the similar steps just described.
+
+ make $TYPE FLAVOR=$FLAVOR
+
+where $TYPE is opt, gcov, gprof, debug, valgrind, lcnt. These
+different beam types are useful for debugging and profiling purposes.
+
+
Support for SMP (Symmetric Multi Processing)
--------------------------------------------