changeset 93:34ca1c6e9550

Fixed symbol resolution to not resolve intra-section references to constants by default
author lost
date Sat, 17 Jan 2009 06:27:01 +0000
parents ea2cfebef5d0
children 83ba34ed11b3
files src/lwasm.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lwasm.c	Sat Jan 17 06:11:40 2009 +0000
+++ b/src/lwasm.c	Sat Jan 17 06:27:01 2009 +0000
@@ -225,7 +225,12 @@
 	{
 		return NULL;
 	}
-	if (st -> as -> outformat != OUTPUT_OBJ || se -> sect == NULL || se -> sect == st -> as -> csect)
+	if (st -> as -> outformat == OUTPUT_OBJ && se -> sect != NULL)
+	{
+		// do not resolve any section symbols in object mode
+		return NULL;
+	}
+	if (st -> as -> outformat != OUTPUT_OBJ || se -> sect == NULL)
 	{
 		// global symbol, intrasegment reference, or not an object target
 		val = se -> value;