LAPACK has an implementation of the svd of a 2x2 triangular matrix. It appears to be very robust.
The routine is XLASV2.
To apply to a regular 2x2 matrix, you can simply apply a single givens rotation from the left/right.
There are two main ways to write stress/strain tensors as 6 components vectors:
Voigt notation, that is the most common; and
Mandel-Kelvin notation, that has the advantage of writing stress and strains in the same way, so their rotations are done via the same $6\times 6$ matrices.
A reference that I consider good for Voigt's notation is Auld's book, and ...