Coming off of this question, I patched my kernel in a quest to get SQL Server 2017 on Linux to start up. Now I'm getting further but I'm being shut down,
strstr("TracerPid:\t0\n", "TracerPid:") = "TracerPid:\t0\n"
strtol(0x7fe0cf01840b, 0x7ffd380d5eb0, 10, 0) = 0
free(0x7fe0cf018400) = <void>
fclose(0x7fe0cf011980) = 0
getpid() = 3474
getpid() = 3474
getauxval(31, 9, 5, 0x7fe0d034ea67) = 0x7ffd380dcfe0
strncpy(0x7ffd380d5f00, "/opt/mssql/bin/sqlservr", 4095) = 0x7ffd380d5f00
realpath(0x7ffd380d5f00, 0x7ffd380d6f00, 0, 0x7fe0d0323720) = 0x7ffd380d6f00
getpid() = 3474
abort( <no return ...>
--- SIGABRT (Aborted) ---
I believe after having check proc, SQL Server does some other voodoo to do the same thing as a fall back, just to be "extra-safe" that no one is trying to make their software work.
Now, I'm wondering if getauxval(3) can be used to also determine if a process is being traced? It seems that the CAPABILITIES indicate this is possible in CAP_SYS_ADMIN and CAP_SYS_PTRACE