I decided to investigate using GL_ARB_gl_spirv to work around the bug mentioned here GL_ARB_separate_shader_objects extension broken
I ported the test case attached in the aforementioned thread to use spirv shaders, but found similar issues.
Using a AMD R9 380;
When spirv shaders are used with a monolithic build, the output shows as yellow, similar to the output of the original test (when it should be green)
When SSO is used, the output is white, indicating a separate issue.
When using an old nvidia mobile GPU, all tests display green (as it should).
I'm not entirely sure what the issue is, but as with the original issue, I suspect a driver bug.
Attached is a test case, the console will display 4 options, (1: GLSL, 2: GLSL SSO, 3: Spriv, 4: Spriv SSO) and will wait for you to enter the number of a test you want to run.
Still an issue on 18.4.1