musl does the following:

#define open64 open

This can cause an infinite loop for the following code:

class Foo
{
public:
  int open64()
    {  open(); }
};

Perhaps it would be better to supply open64 and have it call open, rather than #define it?  There are several other xxx64 functions also defined that could cause problems with unfortunate code.

--