Project

General

Profile

Bug #5455

Unrecognized option -massume-32bit-callers

Added by Gary Mills about 6 years ago. Updated about 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
tools - gate/build tools
Start date:
2014-12-21
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

A build with gcc 4.8.2 fails with this error:


gcc: error: unrecognized command line option '-massume-32bit-callers'
genoffsets: /dpool/export/home/mills/Downloads/code/illumos-gate/usr/src/tools/proto/root_sparc-nd/opt/onbld/bin/sparc/cw failed with status 1

This gcc option originates in Makefile.master, where it's defined this way:


CC32BITCALLERS= -_gcc=-massume-32bit-callers

This option is not recognized by recent versions of gcc. Is it even needed anymore? The symbol only appears in these files:


usr/src/uts/sparc/Makefile.sparc
usr/src/uts/sun4u/Makefile.sun4u
usr/src/uts/sun4v/Makefile.sun4v

Removing the option from Makefile.master, but retaining the symbol, allows the build to proceed.

#1

Updated by Igor Kozhukhov about 6 years ago

for this option need port patch from gcc44 to gcc48x
but need take a look binaries and identify if we need this patch for new gcc versions.

#2

Updated by Rich Lowe about 6 years ago

Yes this is necessary. I implemented this because otherwise the implementation of system calls on SPARC will not work correctly.

The problem is described in #2757, which is very cumbersome to fix in the OS. (I have a large GCC branch that doesn't work properly, but works nearly properly that you could play with if you wanted. iirc the next step would be to fix every system call to properly treat its arguments).

#3

Updated by Gary Mills about 6 years ago

Okay, it's still necessary. Can we ask the GNU people again to upstream the necessary code in gcc? Otherwise, we'll need to keep on patching the compiler. I don't suppose there's another solution, like post-processing or a macro. With the very limited interest in illumos on SPARC, I suppose we should take the easiest path, or it'll never get done.

Also available in: Atom PDF