diff --git a/configure.in b/configure.in
index 5b2328fea0f15b16f9ba64a04a9f57e352d3cf69..f7560ffc401b5ee8286c576e411dde05e30aca86 100644
--- a/configure.in
+++ b/configure.in
@@ -687,7 +687,7 @@ int main()
     [USE_PSTACK=$withval],
     [USE_PSTACK=yes])
   pstack_libs= pstack_dirs=
-  if test "$USE_PSTACK" = yes
+  if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$MACHINE_TYPE" = "i386"
   then
     have_libiberty= have_libbfd=
     my_save_LIBS="$LIBS"
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test
index 6820242d5629c0a5db419dfe3e9d77098de67401..90efdfa2d332a6996d1784c5ebfea0a125d964a0 100644
--- a/mysql-test/t/merge.test
+++ b/mysql-test/t/merge.test
@@ -22,7 +22,7 @@ insert into t2 select NULL,message from t1;
 insert into t1 select NULL,message from t2;
 insert into t2 select NULL,message from t1;
 insert into t1 select NULL,message from t2;
-create table t3 (a int not null, b char(20), key(a)) type=MERGE UNION=(t1,t2);
+create table t3 (a int not null, b char(20), key(a)) type=MERGE UNION=(test.t1,test.t2);
 explain select * from t3 where a < 10;
 explain select * from t3 where a > 10 and a < 20;
 select * from t3 where a = 10;
diff --git a/mysys/mf_qsort.c b/mysys/mf_qsort.c
index ed79aab6fd90f8a61fd3c7f4f3bab0407bfb57e2..3db6fae052007209f14a0e63cde5fe0b8de6abf0 100644
--- a/mysys/mf_qsort.c
+++ b/mysys/mf_qsort.c
@@ -110,7 +110,7 @@ qsort_t qsort(void *base_ptr, size_t count, size_t size, qsort_cmp cmp)
   stack_ptr = stack + 1;
 #ifdef HAVE_purify
   /* The first element in the stack will be accessed for the last POP */
-  stack[0].lo=stack[0].hi=0;
+  stack[0].low=stack[0].high=0;
 #endif
   pivot = (char *) my_alloca((int) size);
   ptr_cmp= size == sizeof(char*) && !((low - (char*) 0)& (sizeof(char*)-1));
diff --git a/mysys/my_dup.c b/mysys/my_dup.c
index 2b3f8f9dd0607cacdf75d14d6f89f49244fe76ce..5191a3bed379a8eeac124218e9101dcdd2c54448 100644
--- a/mysys/my_dup.c
+++ b/mysys/my_dup.c
@@ -29,7 +29,7 @@
 File my_dup(File file, myf MyFlags)
 {
   File fd;
-  char *filename;
+  const char *filename;
   DBUG_ENTER("my_dup");
   DBUG_PRINT("my",("file: %d  MyFlags: %d", MyFlags));
   fd = dup(file);
diff --git a/mysys/raid.cc b/mysys/raid.cc
index 48aa5cdb13466a3006565e06c162b7afb6d94982..2e17a2c3f58b6dc10f4d33b5273479a6353b9802 100644
--- a/mysys/raid.cc
+++ b/mysys/raid.cc
@@ -420,8 +420,8 @@ IsRaid(File fd)
 RaidFd::
 RaidFd(uint raid_type, uint raid_chunks, ulong raid_chunksize)
   :_raid_type(raid_type), _raid_chunks(raid_chunks),
-   _raid_chunksize(raid_chunksize), _position(0), _fd_vector(0),
-   _size(RAID_SIZE_UNKNOWN)
+   _raid_chunksize(raid_chunksize), _position(0), _size(RAID_SIZE_UNKNOWN),
+   _fd_vector(0)
 {
   DBUG_ENTER("RaidFd::RaidFd");
   DBUG_PRINT("enter",("RaidFd_type: %u  Disks: %u  Chunksize: %d",
diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc
index b6621a056a54f70e3d408be77f421a8bc431248f..36683c0f239fc809dde5130c664fb5567b44fc58 100644
--- a/sql/gen_lex_hash.cc
+++ b/sql/gen_lex_hash.cc
@@ -472,7 +472,8 @@ int main(int argc,char **argv)
   int error;
 
   MY_INIT(argv[0]);
-  start_value=3579077L; best_t1=6681742L;  best_t2=142815L;  best_type=3; /* mode=5167  add=7  type: 0 */
+
+  start_value=2250933L;  best_t1=2721579L;  best_t2=4627039L;  best_type=3; /* mode=4567  add=4  type: 0 */
   if (get_options(argc,(char **) argv))
     exit(1);
 
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 06d41dcce66b267a54b5974c76d3a7f3e2335480..05fdf6316c2ecd5a19189b23d320d9771e8deb48 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3202,7 +3202,6 @@ static void usage(void)
 			BACKUP or FORCE.\n\
   --memlock		Lock mysqld in memory\n\
   -n, --new		Use very new possible 'unsafe' functions\n\
-  --no-mix-table-types  Do not use transactional and non-transactional tables in a single query\n
   -o, --old-protocol	Use the old (3.20) protocol\n\
   -P, --port=...	Port number to use for connection\n");
 #ifdef ONE_THREAD
diff --git a/sql/sql_class.h b/sql/sql_class.h
index a99bce0d6bc8afd1b57f62aecf3f46dff516e420..085ea3d7b34bafb5c795ae10587659b78a6c803f 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -614,7 +614,7 @@ public:
   Unique(qsort_cmp2 comp_func, void * comp_func_fixed_arg,
 	 uint size, ulong max_in_memory_size_arg);
   ~Unique();
-  inline bool Unique::unique_add(gptr ptr)
+  inline bool unique_add(gptr ptr)
   {
     if (tree.elements_in_tree > max_elements && flush())
       return 1;