While I support nuking `index' from GCC sources, I'm just wondering
why it was a problem in the first place. Shouldn't libiberty have
taken care of supplying the missing function?
libiberty provides both strchr() and index().
The answer to your question lies not in technology, but in history.
Way Back When, Posix wasn't "it" yet, and it was 50/50 whether your OS
had index() (BSD-like) or strchr() (SysV-like), and few had both.
Which one a developer chose depended more on their background than
anything else.