Bug #59181 InnoDB compilation failure on the Sun Studio compiler

Submitted: 27 Dec 2010 7:43 Modified: 10 Feb 2011 20:02
Reporter: Marko Mäkelä Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.1 plugin, 5.5+ OS:Solaris
Assigned to: Marko Mäkelä CPU Architecture:Any
Tags: sun_prefetch_read_many, UNIV_PREFETCH_R

[27 Dec 2010 7:43] Marko Mäkelä
Description:
".../storage/innobase/dict/dict0dict.c", line 4146: warning: argument #1 is incompatible with prototype:
        prototype: pointer to void : "/opt/studio12/SUNWspro/prod/include/cc/sun_prefetch.h", line 159
        argument : pointer to const unsigned char
cc: acomp failed for .../storage/innobase/dict/dict0dict.c
this is mysql-5.5-innodb r3264

This is apparently caused by the

	UNIV_PREFETCH_R(rec);

that I added to dict_index_copy_rec_order_prefix() in MySQL 5.0.3 when profiling the introduction of ROW_FORMAT=COMPACT. Back then, I only defined UNIV_PREFETCH_R on GCC.

Someone has since then defined it as sun_prefetch_read_many(addr) on the Sun compiler, in MySQL 5.1 InnoDB Plugin and later. The function prototype in sun_prefetch.h ought to be wrong (it should say const void*, not void*).

How to repeat:
Compile MySQL 5.1 InnoDB Plugin or MySQL 5.5 or later with the Sun compiler.

Suggested fix:
-# define UNIV_PREFETCH_R(addr) sun_prefetch_read_many(addr)
+# define UNIV_PREFETCH_R(addr) sun_prefetch_read_many((void*) addr)
[10 Jan 2011 13:35] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/128296
[10 Jan 2011 13:35] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/128297
[30 Jan 2011 16:58] Bugs System
Pushed into mysql-5.1 5.1.56 (revid:vasil.dimov@oracle.com-20110130164158-1q99a41kb2wvkw3a) (version source revid:vasil.dimov@oracle.com-20110130164158-1q99a41kb2wvkw3a) (merge vers: 5.1.56) (pib:24)
[30 Jan 2011 16:59] Bugs System
Pushed into mysql-trunk 5.6.2 (revid:vasil.dimov@oracle.com-20110130165639-1pr3opz839b98q5j) (version source revid:vasil.dimov@oracle.com-20110130165522-m0o6al0pn5ig9kv3) (merge vers: 5.6.2) (pib:24)
[30 Jan 2011 17:00] Bugs System
Pushed into mysql-5.5 5.5.10 (revid:vasil.dimov@oracle.com-20110130165343-he9art47agq1a3gr) (version source revid:vasil.dimov@oracle.com-20110130165137-5lvzsq9j29j0hp1s) (merge vers: 5.5.10) (pib:24)

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.045 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.