Opened 20 years ago

Closed 20 years ago

Last modified 5 years ago

#8300 closed patch (wontfix)

Disable unaligned accesses on Alpha

Reported by: SF/mellum Owned by: fingolfin
Priority: normal Component: Ports
Version: Keywords:
Cc: Game:

Description

On Alpha, unaligned accesses don't crash, but are incredibly expensive.

Ticket imported from: #847463. Ticket imported from: patches/405.

Attachments (1)

alpha-unaligned.patch (628 bytes ) - added by SF/mellum 20 years ago.

Download all attachments as: .zip

Change History (8)

by SF/mellum, 20 years ago

Attachment: alpha-unaligned.patch added

comment:1 by fingolfin, 20 years ago

So what exactly is the point of this patch? What does it do, and why do you think it should be added to ScummVM?

comment:2 by fingolfin, 20 years ago

Status: newpending

comment:3 by SF/mellum, 20 years ago

Status: pendingnew

comment:4 by SF/mellum, 20 years ago

The point is to avoid slowdowns of a factor of 100 and spamming the syslog file with warnings. For this, the patch shortcuts the test which tries to check whether one can get away with unaligned accesses.

The proper method would IMHO be to have a list of architectures which are known not to have any problems with unaligned accesses, but that was turned down when I suggested it.

comment:5 by fingolfin, 20 years ago

Owner: set to fingolfin
Resolution: wontfix
Status: newclosed

comment:6 by fingolfin, 20 years ago

A hardcoded list of architectures hardly ever is a "proper way". It means that you get troubles whenever somebody tries to get stuff working on an so far untested system. The reason that autoconf is so successful and flexible is that it checks for features, not for operating systems/processors/.... I very much strongly disagree with your statement that "a list of architectures" is the "proper method" to handle this. It most definitely is *not* the proper way, isiolated.

However, *augmenting* an automatic detection by a few hard coded cases is an option. However that shouldn't be implemented by relying on some preprocessor flag in the C check, rather the script should check the uname value to detect the Alpha architecture.

comment:7 by digitall, 5 years ago

Component: Ports
Note: See TracTickets for help on using tickets.