Fix the x86 textrel and remove -Wl,--no-fatal-warnings.

Bug: 11358761
Change-Id: I825cecce121a9011f74c5fdf77d1fbecd30adbc7
diff --git a/runtime/Android.mk b/runtime/Android.mk
index c6ac9ca..3ce053c 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -197,7 +197,7 @@
 LIBART_GCC_ONLY_SRC_FILES := \
 	interpreter/interpreter_goto_table_impl.cc
 
-LIBART_TARGET_LDFLAGS := -Wl,--no-fatal-warnings
+LIBART_TARGET_LDFLAGS :=
 LIBART_HOST_LDFLAGS :=
 
 LIBART_TARGET_SRC_FILES := \
@@ -485,4 +485,4 @@
 LIBART_HOST_SRC_FILES_64 :=
 LIBART_ENUM_OPERATOR_OUT_HEADER_FILES :=
 LIBART_CFLAGS :=
-build-libart :=
\ No newline at end of file
+build-libart :=
diff --git a/runtime/arch/x86/quick_entrypoints_x86.S b/runtime/arch/x86/quick_entrypoints_x86.S
index ecd8ce6..0326f9e 100644
--- a/runtime/arch/x86/quick_entrypoints_x86.S
+++ b/runtime/arch/x86/quick_entrypoints_x86.S
@@ -1247,11 +1247,12 @@
     PUSH ecx                      // Pass receiver.
     PUSH eax                      // Pass Method*.
     SETUP_GOT_NOSAVE              // clobbers EBX
-    call SYMBOL(artInstrumentationMethodEntryFromCode) // (Method*, Object*, Thread*, SP, LR)
-    addl  LITERAL(28), %esp       // Pop arguments upto saved Method*.
+    call PLT_SYMBOL(artInstrumentationMethodEntryFromCode) // (Method*, Object*, Thread*, SP, LR)
+    addl LITERAL(28), %esp        // Pop arguments upto saved Method*.
     movl 28(%esp), %edi           // Restore edi.
     movl %eax, 28(%esp)           // Place code* over edi, just under return pc.
-    movl LITERAL(SYMBOL(art_quick_instrumentation_exit)), 32(%esp)
+    movl SYMBOL(art_quick_instrumentation_exit)@GOT(%ebx), %ebx
+    movl %ebx, 32(%esp)
                                   // Place instrumentation exit as return pc.
     movl (%esp), %eax             // Restore eax.
     movl 8(%esp), %ecx            // Restore ecx.