[MDEV-14318] cmake updates to build on arm64 Created: 2017-11-07 Updated: 2018-02-19 Resolved: 2018-02-19 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling, Storage Engine - InnoDB |
| Affects Version/s: | 10.2 |
| Fix Version/s: | 10.2.14, 10.3.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | David Thompson (Inactive) | Assignee: | Sergey Vojtovich |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | centos7, gcc | ||
| Epic Link: | arm64 optimization |
| Description |
|
In order to build 10.2 and 10.3 on arm64, additional innodb files need to be built with -O0 when on 4.x gcc compiler, for example on centos7. The following patch includes the necessary fixes to the innobase CMakeLists.txt
|
| Comments |
| Comment by Sergei Golubchik [ 2017-11-08 ] | ||||||||||||||||||||||||||||||||
|
What happens if they're not compiled with -O0 ? | ||||||||||||||||||||||||||||||||
| Comment by David Thompson (Inactive) [ 2017-11-09 ] | ||||||||||||||||||||||||||||||||
|
Doesn't compile, so this will block buildbot once we get some additional servers for build / development. The patch simply expands the list of files that are compiled with no optimization for gcc < 5.2. It's a known compiler bug for arm64 and you get something like the following error:
| ||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2017-11-22 ] | ||||||||||||||||||||||||||||||||
|
dthompson as RHEL supports Arm64 I suggest lodging a bug at http://bugzilla.redhat.com/bugzilla and getting redhat to backport the appropriate compiler fix (it is their business model after all). make VERBOSE=1 and then take the failing compile line and add "-save-temps". Attach the .i* file to the bug report along with the compile line. | ||||||||||||||||||||||||||||||||
| Comment by Sergey Vojtovich [ 2018-02-19 ] | ||||||||||||||||||||||||||||||||
|
I attempted to fine tune gcc flags:
But it is quite fragile: every minor change to affected files may require adjusting these flags. Instead I've just added affected files as suggested in description. |