Some of the members in struct thread_lite are missing qualifiers from struct thread. In the case of the volatile keyword, this can be important as it provides important information to the compiler about which assumptions it needs to follow when dealing with the data in the field.
Modify struct thread_lite to maintain the qualifiers from struct thread.