Project

General

Profile

Bug #1865

Bug #1450: Illumos should be buildable with GCC4

i86 cpr and gcc4 don't get along

Added by Rich Lowe over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
kernel
Start date:
2011-12-08
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

cpr on x86 does some fairly weird things (copying function text, most notably), to facilitate the transition back out of real mode on resume (as I understand it).

In doing so, it casts between pointers and possibly smaller sized integers (if 64bit). We need to fix that, because the better support for -Wpointer-to-int-cast in GCC4 now notices it.

History

#1

Updated by Rich Lowe over 8 years ago

  • Status changed from New to Resolved
  • % Done changed from 50 to 100

Resolved in r13543 commit:33634a52a6c1

Note that this fixes compilation, and brings cpr to the same state as gcc 3.4, this state is not the same state as "working", it in fact tries to explicitly not work, and botches even that.

A followup change will disable CPR in gcc builds (I can't fix it, it doesn't work for me regardless, though I could probably do the easy cut/paste/fix transform on the existing code, if someone wanted to do the rest).

Also available in: Atom PDF