Enable functional DSO object destruction

Unfortunately, legacy .so files for ARM don't have a correct crtbegin file.
Consequently, we have to grandfather the old __dso_handle behaviour.
Add some ifdefs for ARM to allow it to use the old code until we can work
out a transition.

Change-Id: I6a28f368267d792c94e1d985d8344023bc632f6f
Author: H.J. Lu <hongjiu.lu@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
diff --git a/libc/private/__dso_handle.S b/libc/private/__dso_handle.S
index a6395dd6..3e80128 100644
--- a/libc/private/__dso_handle.S
+++ b/libc/private/__dso_handle.S
@@ -32,7 +32,11 @@
 #
         .section .bss
         .align 4
+
+#ifndef CRT_LEGACY_WORKAROUND
 	.hidden __dso_handle
+#endif
+
         .globl __dso_handle
 __dso_handle:
         .long 0