I just experimented with making a static variable in rtld.c and redefining GL using that locally, with strong_alias to define _rtld_global. It seems to work. Can platforms like Alpha and SPARC avoid the relocs for local symbols?