diff --git a/lib/csu/aarch64/crt1.c b/lib/csu/aarch64/crt1.c index 40279b79853d..a01897ed59ff 100644 --- a/lib/csu/aarch64/crt1.c +++ b/lib/csu/aarch64/crt1.c @@ -71,17 +71,8 @@ __start(int argc, char *argv[], char *env[], void (*cleanup)(void)) if (&_DYNAMIC != NULL) atexit(cleanup); - else { - /* - * Hack to resolve _end so we read the correct symbol. - * Without this it will resolve to the copy in the library - * that firsts requests it. We should fix the toolchain, - * however this is is needed until this can take place. - */ - *(volatile long *)&_end; - + else _init_tls(); - } #ifdef GCRT atexit(_mcleanup);