revert [273bbe926d]:  it doesn't work on i386
revert [f3509c3d35]:  it doesn't work on i386
revert [8e83219e38]:  it doesn't work on i386