Unified · Split
| @@ -35,12 +35,12 @@ endif · 34 unmodified lines | |||
| 35 | 35 | ||
| 36 | XFLAGS += -I$(TOP) | 36 | XFLAGS += -I$(TOP) |
| 37 | 37 | ||
| 38 | I386_O = libtcc1.o alloca.o alloca-bt.o $(COMMON_O) | 38 | I386_O = libtcc1.o alloca-bt.o $(COMMON_O) |
| 39 | X86_64_O = libtcc1.o alloca.o alloca-bt.o $(COMMON_O) | 39 | X86_64_O = libtcc1.o alloca-bt.o $(COMMON_O) |
| 40 | ARM_O = libtcc1.o armeabi.o alloca.o armflush.o $(COMMON_O) | 40 | ARM_O = libtcc1.o armeabi.o armflush.o $(COMMON_O) |
| 41 | ARM64_O = lib-arm64.o alloca.o $(COMMON_O) | 41 | ARM64_O = lib-arm64.o $(COMMON_O) |
| 42 | RISCV64_O = lib-arm64.o $(COMMON_O) | 42 | RISCV64_O = lib-arm64.o $(COMMON_O) |
| 43 | COMMON_O = stdatomic.o atomic.o builtin.o | 43 | COMMON_O = stdatomic.o atomic.o builtin.o alloca.o |
| 44 | WIN_O = crt1.o crt1w.o wincrt1.o wincrt1w.o dllcrt1.o dllmain.o | 44 | WIN_O = crt1.o crt1w.o wincrt1.o wincrt1w.o dllcrt1.o dllmain.o |
| 45 | LIN_O = dsohandle.o | 45 | LIN_O = dsohandle.o |
| 46 | OSX_O = | 46 | OSX_O = |
| @@ -142,4 +142,18 @@ p100: · 141 unmodified lines | |||
| 142 | #endif | 142 | #endif |
| 143 | .size alloca, .-alloca | 143 | .size alloca, .-alloca |
| 144 | /* ---------------------------------------------- */ | 144 | /* ---------------------------------------------- */ |
| 145 | #elif defined __riscv | ||
| 146 | |||
| 147 | .text | ||
| 148 | .align 2 | ||
| 149 | .global alloca | ||
| 150 | .type alloca, %function | ||
| 151 | alloca: | ||
| 152 | sub sp, sp, a0 | ||
| 153 | addi sp, sp, -15 | ||
| 154 | andi sp, sp, -16 | ||
| 155 | add a0, sp, zero | ||
| 156 | ret | ||
| 157 | .size alloca, .-alloca | ||
| 158 | /* ---------------------------------------------- */ | ||
| 145 | #endif | 159 | #endif |