winlin

Merge branch 'srs.master'

@@ -47,6 +47,22 @@ void func0() @@ -47,6 +47,22 @@ void func0()
47 * unless USE_LIBC_SETJMP is defined. 47 * unless USE_LIBC_SETJMP is defined.
48 */ 48 */
49 // for glibc 2.4+, it's not possible to get and set the sp in jmp_buf 49 // for glibc 2.4+, it's not possible to get and set the sp in jmp_buf
  50 + /**
  51 + for example, the following is show the jmp_buf when setjmp:
  52 + (gdb) x /64xb env_func1[0].__jmpbuf
  53 + 0x600ca0 <env_func1>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  54 + 0x600ca8 <env_func1+8>: 0xf8 0xc1 0x71 0xe5 0xa8 0x88 0xb4 0x15
  55 + 0x600cb0 <env_func1+16>: 0xa0 0x05 0x40 0x00 0x00 0x00 0x00 0x00
  56 + 0x600cb8 <env_func1+24>: 0x90 0xe4 0xff 0xff 0xff 0x7f 0x00 0x00
  57 + 0x600cc0 <env_func1+32>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  58 + 0x600cc8 <env_func1+40>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
  59 + 0x600cd0 <env_func1+48>: 0xf8 0xc1 0x51 0xe5 0xa8 0x88 0xb4 0x15
  60 + 0x600cd8 <env_func1+56>: 0xf8 0xc1 0xd9 0x2f 0xd7 0x77 0x4b 0xea
  61 + (gdb) p /x $sp
  62 + $4 = 0x7fffffffe380
  63 + we cannot finger the sp out.
  64 + where the glibc is 2.12.
  65 + */
50 register long int rsp0 asm("rsp"); 66 register long int rsp0 asm("rsp");
51 67
52 int ret = setjmp(env_func1); 68 int ret = setjmp(env_func1);
@@ -124,7 +124,7 @@ $(SRS): $(OBJS) @@ -124,7 +124,7 @@ $(SRS): $(OBJS)
124 $(TARGETDIR)/md.o: md.S 124 $(TARGETDIR)/md.o: md.S
125 $(CC) $(CFLAGS) -c $< -o $@ 125 $(CC) $(CFLAGS) -c $< -o $@
126 126
127 -$(TARGETDIR)/%.o: %.c common.h md.h 127 +$(TARGETDIR)/%.o: %.c common.h md.h Makefile
128 $(CC) $(CFLAGS) -c $< -o $@ 128 $(CC) $(CFLAGS) -c $< -o $@
129 129
130 clean: 130 clean: