diff --git a/coregrind/arch/x86-linux/Makefile.am b/coregrind/arch/x86-linux/Makefile.am
index 139597f9c..cd34ec8c2 100644
--- a/coregrind/arch/x86-linux/Makefile.am
+++ b/coregrind/arch/x86-linux/Makefile.am
@@ -1,2 +1,14 @@
+valdir = $(libdir)/valgrind
+val_PROGRAMS = libpthread.so
+libpthread_so_SOURCES = \
+· vg_libpthread.c \
+· vg_libpthread_unimp.c \
+· vg_syscall.S
+libpthread_so_DEPENDENCIES = $(srcdir)/vg_libpthread.vs
+libpthread_so_LDFLAGS = -Werror -fno-omit-frame-pointer -UVG_LIBDIR \
+· -shared -fpic \
+· -Wl,-version-script $(srcdir)/vg_libpthread.vs \
+· -Wl,-z,nodelete \
+· -Wl,--soname=libpthread.so.0
diff --git a/coregrind/docs/coregrind_core.html b/coregrind/docs/coregrind_core.html
index 24deff839..34edcf242 100644
--- a/coregrind/docs/coregrind_core.html
+++ b/coregrind/docs/coregrind_core.html
@@ -710,7 +710,7 @@ not Cachegrind.
For tools that use their own version of malloc() (e.g. Memcheck
and Addrcheck), the following options apply.
--alignment=<number> [default: 4]By +
--alignment=<number> [default: 8]By
default Valgrind's malloc, realloc,
etc, return 4-byte aligned addresses. These are suitable for
any accesses on x86 processors.
diff --git a/coregrind/vg_malloc2.c b/coregrind/vg_malloc2.c
index 13d9a9238..bf03b2a54 100644
--- a/coregrind/vg_malloc2.c
+++ b/coregrind/vg_malloc2.c
@@ -46,7 +46,7 @@ Bool VG_(clo_sloppy_malloc) = False;
Bool VG_(clo_trace_malloc) = False;
/* Minimum alignment in functions that don't specify alignment explicitly.
- default: 0, i.e. use default of the machine (== 4) */
+ default: 0, i.e. use default of the machine (== 8) */
Int VG_(clo_alignment) = 8;
@@ -86,7 +86,7 @@ void VG_(replacement_malloc_print_usage)(void)
{
VG_(printf)(
" --sloppy-malloc=no|yes round malloc sizes to next word? [no]\n"
-" --alignment=