I think it's due to DOS CR-LF EOL format of some files in the test suite.

You're right, I misdiagnosed the porting problem. Sorry about that.

If we agree that the problem is due to EOL format, we could try
thinking about a solution. The root cause for the problem is that on
Windows, etags accounts for the stripped CR characters, while on Unix
it treats them as part of the contents, so the byte counts are offset
by the number of the preceding lines.

That sounds like a problem, but not a problem that the test case is
trying to detect. A simple way that should cajole the tests into
passing is to remove the trailing CRs from the test data, so I installed
a patch to do that. If we ever want to make ctags output portable among
Unix vs DOS conventions we can bring back test cases involving CRs.