I noticed that chsort@ behaves differently in 32-bit and 64-bit programs, when the last argument is negative. It is ignored in 32-bit, but causes run time error in a 64-bit program.
PROGRAM CHSORT_TEST
IMPLICIT NONE
INTEGER :: arr(100),N
CHARACTER*5 :: SORT(100)
WRITE (*,*) 'Start'
N = -1
call chsort@ (sort,arr,N)
WRITE (*,*) 'END'
END