Project

General

Profile

Actions

Feature #14141

open

build utmpd as 64-bit binary

Added by Toomas Soome about 2 months ago. Updated 2 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
Due date:
% Done:

90%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:

Description

With slightly older screen, I did notice the issue in output of w and who:

tsoome@openindiana:/code/illumos-gate$ w
00:04:43      2 users,  load average: 0,93, 1,06, 1,05
User     tty      login@         idle    JCPU    PCPU what
tsoome   pts/2    23:23:57          2       1       0 /usr/bin/bash
tsoome   pts/1    23:52:22          0       0       0 w
tsoome   pts/3    23:22:05          0       0       0 -
tsoome   pts/3    23:22:05          0       0       0 -
tsoome@openindiana:/code/illumos-gate$ who
tsoome     pts/2        okt  6 23:23    (10.7.33.28)
tsoome     pts/1        okt  6 23:52    (10.7.33.28)
tsoome     pts/3        okt  6 23:22    (:pts/2:S.0)
tsoome     pts/3        okt  6 23:22    (:pts/2:S.0)
tsoome@openindiana:/code/illumos-gate$ 

This system was built with gcc 10 on sparc, and the problem is not about w and who commands, but about 32-bit ABI - gcc 10 does not implement complementing 32-bit signed data to 64-bit (as does gcc 4.4.4). From one hand this is bug, but in this particular case, we can work around by building utmpd as 64-bit binary. It is a bit odd reason, but as good as any other IMO.

Testing done: build/install/boot, the w/who are producing expected output on x86 and on sparc.


Related issues

Related to illumos gate - Bug #2757: 32bit sparc direct system calls should not rely on compiler mannerismsIn ProgressKlaus Ziegler2012-05-21

Actions
Actions

Also available in: Atom PDF