]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Change things so that stage2's location is controlled by a single variable.
authorNicholas Nethercote <n.nethercote@gmail.com>
Wed, 25 Aug 2004 16:16:56 +0000 (16:16 +0000)
committerNicholas Nethercote <n.nethercote@gmail.com>
Wed, 25 Aug 2004 16:16:56 +0000 (16:16 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2620

coregrind/Makefile.am
coregrind/stage1.c

index 8c889198a834947db0e4350f822b51670e5e0d49..90ad962df001f5a288bd8eda3ca039779ecdc758 100644 (file)
@@ -7,7 +7,8 @@ add_includes = -I$(srcdir)/demangle -I$(top_builddir)/include \
 valdir = $(libdir)/valgrind
 inplacedir = $(top_builddir)/.in_place
 
-AM_CPPFLAGS = $(add_includes) -DVG_LIBDIR="\"$(valdir)"\"
+AM_CPPFLAGS = $(add_includes) -DVG_LIBDIR="\"$(valdir)"\" \
+               -DKICKSTART_BASE=$(KICKSTART_BASE)
 AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fno-omit-frame-pointer \
                @PREFERRED_STACK_BOUNDARY@ -g -DELFSZ=32
 AM_CCASFLAGS = $(add_includes) -I..
@@ -40,6 +41,12 @@ valgrind_DEPENDENCIES =
 valgrind_LDFLAGS=-static -g -Wl,-e,_ume_entry
 valgrind_LDADD=
 
+# Where stage2 will be put.
+# Nb: Hard-wiring this sucks.  A configure-time test would be better.  A
+#     load-time test would be even better, but would require building stage2 in
+#     a position-independent way...
+KICKSTART_BASE=0xb0000000
+
 stage2_SOURCES = \
        ume.c \
        x86/ume_entry.S \
@@ -80,7 +87,7 @@ stage2_SOURCES = \
        vg_cpuid.S
 stage2_DEPENDENCIES = $(srcdir)/valgrind.vs x86/stage2.lds
 stage2_LDFLAGS=-Wl,--export-dynamic -Wl,-e,_ume_entry  -g \
-       -Wl,-defsym,kickstart_base=0xb0000000 \
+       -Wl,-defsym,kickstart_base=$(KICKSTART_BASE) \
        -Wl,-T,x86/stage2.lds \
        -Wl,-version-script $(srcdir)/valgrind.vs 
 stage2_LDADD= \
index 4fab73360f8b33a8edc2eac5648204748bd790b4..9ec46639f586b438091d41b692ec2452e7774c65 100644 (file)
@@ -180,7 +180,7 @@ static void hoops(void)
       - it could have a special PHDR (v. ELF specific)
       - something else?
     */
-   info.map_base = 0xb1000000;
+   info.map_base = KICKSTART_BASE + 0x01000000;
    info.argv = NULL;
 
    snprintf(buf, sizeof(buf), "%s/%s", valgrind_lib, stage2);