diff --git a/Makefile b/Makefile
index 62fd0f8..f8c820e 100644
--- a/Makefile
+++ b/Makefile
@@ -60,7 +60,7 @@ CFLAGS = -Wall -Werror -O -fno-omit-frame-pointer -ggdb -gdwarf-2
 CFLAGS += -MD
 CFLAGS += -mcmodel=medany
 # CFLAGS += -ffreestanding -fno-common -nostdlib -mno-relax
-CFLAGS += -fno-common -nostdlib -mno-relax
+CFLAGS += -fno-common -nostdlib
 CFLAGS += -fno-builtin-strncpy -fno-builtin-strncmp -fno-builtin-strlen -fno-builtin-memset
 CFLAGS += -fno-builtin-memmove -fno-builtin-memcmp -fno-builtin-log -fno-builtin-bzero
 CFLAGS += -fno-builtin-strchr -fno-builtin-exit -fno-builtin-malloc -fno-builtin-putc
diff --git a/user/ulib.c b/user/ulib.c
index c7b66c4..0064846 100644
--- a/user/ulib.c
+++ b/user/ulib.c
@@ -7,7 +7,7 @@
 // wrapper so that it's OK if main() does not call exit().
 //
 void
-_main()
+start()
 {
   extern int main();
   main();
diff --git a/user/user.ld b/user/user.ld
index 23b6db5..3da93e0 100644
--- a/user/user.ld
+++ b/user/user.ld
@@ -1,6 +1,4 @@
 OUTPUT_ARCH( "riscv" )
-ENTRY( _main )
-
 
 SECTIONS
 {