Subject: LD problem
From: [email-masked] (Yang Shuqiang)

24 Sep 1997 18:08:17 -0700
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: [email-masked]

help:
I have built a test system which has the following structure:
	 	 / heaptuple.c
      / common - makefile
     /      / gist.c
test - gist - makefile
     \ makefile
The contents of these files are list bellow:
1> test\makefile:
	OBJS = common/SUBSYS.o gist/SUBSYS.o
	all: submake SUBSYS.o
	SUBSYS.o: $(OBJS)
		$(LD) -r -o SUBSYS.o $(OBJS)
	submake:
		$(MAKE) -C common  SUBSYS.o
		$(MAKE) -C gist    SUBSYS.o
2> test\common\makefile:
	OBJS = heaptuple.o
	all: SUBSYS.o
	SUBSYS.o: $(OBJS)
		$(CC) -r -o SUBSYS.o $(OBJS)
3> test\common\heaptuple.c:
	int ComputeDataSize(){    return 1;	}
4> test\gist\makefile:
	OBJS = gist.o
	all: SUBSYS.o
	SUBSYS.o: $(OBJS)
		$(CC) -r -o SUBSYS.o $(OBJS)
5> test\gist\gist.c:
	void gistbuild(){}

Problem:
  When I run make at test, it output the following result(error):
make -C common  SUBSYS.o
gcc    -c heaptuple.c -o heaptuple.o
gcc -r -o SUBSYS.o heaptuple.o
make -C gist    SUBSYS.o
gcc    -c gist.c -o gist.o
gcc -r -o SUBSYS.o gist.o
ld -r -o SUBSYS.o common/SUBSYS.o gist/SUBSYS.o
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) In
cygwin_except_handler
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
Exception trapped!
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
exception C0000005 at 42703A
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE
1016) exception: ax 49E8ED0 bx 45E92DC cx 49E8ED0 dx
427034
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) exception: si
45D7A84 di 45D7A84 bp 257F150 sp
257F150
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) exception is:
STATUS_ACCESS_VIOLATION
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
Stack trace:
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 0: sp
= 0x257EF68, pc = 0x1000CEC2
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE
1016) frame 1: sp = 0x257EF84, pc =
0xBFF766B8
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 2: sp =
0x257EFA8, pc = 0xBFF85C48
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE
1016) frame 3: sp = 0x257F040, pc =
0xFFECBAD7
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 4: sp =
0x257F150, pc = 0x43558A
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 5: sp = 0x257F1A8, pc =
0x437BF6
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 6: sp =
0x257F1F8, pc = 0x41AC9D
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 7: sp = 0x257F334, pc =
0x41AFCB
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 8: sp =
0x257F348, pc = 0x4178DA
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 9: sp = 0x257F36C, pc =
0x422E32
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 10: sp =
0x257F3F0, pc = 0x43838A
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 11: sp = 0x257F47C, pc =
0x437FDB
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 12: sp =
0x257F494, pc = 0x437F9F
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 13: sp = 0x257F4A4, pc =
0x412B3C
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) frame 14: sp =
0x257F4C4, pc = 0x413010
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016)
frame 15: sp = 0x257F4EC, pc =
0x414F47
(C:\GNUWIN32\B18\H-I386-CYGWIN32\BIN\LD.EXE 1016) End of stack
trace (more stack frames may be present)
make: *** [SUBSYS.o] Error 2

Then I change test\makefile by substituting LD with CC and run make, it has
the same result as the above.
Do anyone konw the problem and how to overcome it.
Thanks,
S.H.Yang
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".