| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- GAS LISTING /tmp/ccnYUucl.s page 1
- 1 .file "mod_cgi_func.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.HttpCgiFunctionLookup,"ax",@progbits
- 9 .global HttpCgiFunctionLookup
- 10 .type HttpCgiFunctionLookup, @function
- 11 HttpCgiFunctionLookup:
- 12 0000 0F93 push r16
- 13 0002 1F93 push r17
- 14 0004 CF93 push r28
- 15 0006 DF93 push r29
- 16 /* prologue: function */
- 17 /* frame size = 0 */
- 18 /* stack size = 4 */
- 19 .L__stack_usage = 4
- 20 0008 8C01 movw r16,r24
- 21 000a C091 0000 lds r28,cgiFunctionList
- 22 000e D091 0000 lds r29,cgiFunctionList+1
- 23 .L2:
- 24 0012 2097 sbiw r28,0
- 25 0014 01F0 breq .L4
- 26 0016 B801 movw r22,r16
- 27 0018 8C81 ldd r24,Y+4
- 28 001a 9D81 ldd r25,Y+5
- 29 001c 0E94 0000 call strcasecmp
- 30 0020 1816 cp __zero_reg__,r24
- 31 0022 1906 cpc __zero_reg__,r25
- 32 0024 04F0 brlt .L3
- 33 0026 892B or r24,r25
- 34 0028 01F0 breq .L4
- 35 002a C0E0 ldi r28,0
- 36 002c D0E0 ldi r29,0
- 37 002e 00C0 rjmp .L4
- 38 .L3:
- 39 0030 0A80 ldd __tmp_reg__,Y+2
- 40 0032 DB81 ldd r29,Y+3
- 41 0034 C02D mov r28,__tmp_reg__
- 42 0036 00C0 rjmp .L2
- 43 .L4:
- 44 0038 CE01 movw r24,r28
- 45 /* epilogue start */
- 46 003a DF91 pop r29
- 47 003c CF91 pop r28
- 48 003e 1F91 pop r17
- 49 0040 0F91 pop r16
- 50 0042 0895 ret
- 51 .size HttpCgiFunctionLookup, .-HttpCgiFunctionLookup
- 52 .section .text.HttpRegisterCgiFunction,"ax",@progbits
- 53 .global HttpRegisterCgiFunction
- 54 .type HttpRegisterCgiFunction, @function
- 55 HttpRegisterCgiFunction:
- 56 0000 AF92 push r10
- 57 0002 BF92 push r11
- GAS LISTING /tmp/ccnYUucl.s page 2
- 58 0004 CF92 push r12
- 59 0006 DF92 push r13
- 60 0008 EF92 push r14
- 61 000a FF92 push r15
- 62 000c 0F93 push r16
- 63 000e 1F93 push r17
- 64 0010 CF93 push r28
- 65 0012 DF93 push r29
- 66 /* prologue: function */
- 67 /* frame size = 0 */
- 68 /* stack size = 10 */
- 69 .L__stack_usage = 10
- 70 0014 5C01 movw r10,r24
- 71 0016 6B01 movw r12,r22
- 72 0018 E090 0000 lds r14,cgiFunctionList
- 73 001c F090 0000 lds r15,cgiFunctionList+1
- 74 0020 8701 movw r16,r14
- 75 0022 8FEF ldi r24,lo8(-1)
- 76 0024 9FEF ldi r25,lo8(-1)
- 77 .L9:
- 78 0026 0115 cp r16,__zero_reg__
- 79 0028 1105 cpc r17,__zero_reg__
- 80 002a 01F0 breq .L10
- 81 002c B501 movw r22,r10
- 82 002e D801 movw r26,r16
- 83 0030 1496 adiw r26,4
- 84 0032 8D91 ld r24,X+
- 85 0034 9C91 ld r25,X
- 86 0036 1597 sbiw r26,4+1
- 87 0038 0E94 0000 call strcasecmp
- 88 003c 1816 cp __zero_reg__,r24
- 89 003e 1906 cpc __zero_reg__,r25
- 90 0040 04F4 brge .L10
- 91 0042 E801 movw r28,r16
- 92 0044 0A81 ldd r16,Y+2
- 93 0046 1B81 ldd r17,Y+3
- 94 0048 00C0 rjmp .L9
- 95 .L10:
- 96 004a 892B or r24,r25
- 97 004c 01F4 brne .+2
- 98 004e 00C0 rjmp .L12
- 99 0050 68E0 ldi r22,lo8(8)
- 100 0052 70E0 ldi r23,0
- 101 0054 81E0 ldi r24,lo8(1)
- 102 0056 90E0 ldi r25,0
- 103 0058 0E94 0000 call calloc
- 104 005c EC01 movw r28,r24
- 105 005e 892B or r24,r25
- 106 0060 01F4 brne .+2
- 107 0062 00C0 rjmp .L26
- 108 0064 C501 movw r24,r10
- 109 0066 0E94 0000 call strdup
- 110 006a 9D83 std Y+5,r25
- 111 006c 8C83 std Y+4,r24
- 112 006e 892B or r24,r25
- 113 0070 01F4 brne .+2
- 114 0072 00C0 rjmp .L14
- GAS LISTING /tmp/ccnYUucl.s page 3
- 115 0074 DF82 std Y+7,r13
- 116 0076 CE82 std Y+6,r12
- 117 0078 0115 cp r16,__zero_reg__
- 118 007a 1105 cpc r17,__zero_reg__
- 119 007c 01F0 breq .L15
- 120 007e F801 movw r30,r16
- 121 0080 8081 ld r24,Z
- 122 0082 9181 ldd r25,Z+1
- 123 0084 0097 sbiw r24,0
- 124 0086 01F4 brne .L16
- 125 0088 E114 cp r14,__zero_reg__
- 126 008a F104 cpc r15,__zero_reg__
- 127 008c 01F0 breq .L17
- 128 008e D701 movw r26,r14
- 129 0090 CD93 st X+,r28
- 130 0092 DC93 st X,r29
- 131 0094 00C0 rjmp .L18
- 132 .L17:
- 133 0096 D093 0000 sts cgiFunctionList+2+1,r29
- 134 009a C093 0000 sts cgiFunctionList+2,r28
- 135 .L18:
- 136 009e 1982 std Y+1,__zero_reg__
- 137 00a0 1882 st Y,__zero_reg__
- 138 00a2 FB82 std Y+3,r15
- 139 00a4 EA82 std Y+2,r14
- 140 00a6 D093 0000 sts cgiFunctionList+1,r29
- 141 00aa C093 0000 sts cgiFunctionList,r28
- 142 00ae 00C0 rjmp .L27
- 143 .L16:
- 144 00b0 9983 std Y+1,r25
- 145 00b2 8883 st Y,r24
- 146 00b4 F801 movw r30,r16
- 147 00b6 D183 std Z+1,r29
- 148 00b8 C083 st Z,r28
- 149 00ba E881 ld r30,Y
- 150 00bc F981 ldd r31,Y+1
- 151 00be D383 std Z+3,r29
- 152 00c0 C283 std Z+2,r28
- 153 00c2 1B83 std Y+3,r17
- 154 00c4 0A83 std Y+2,r16
- 155 00c6 00C0 rjmp .L27
- 156 .L15:
- 157 00c8 E091 0000 lds r30,cgiFunctionList+2
- 158 00cc F091 0000 lds r31,cgiFunctionList+2+1
- 159 00d0 3097 sbiw r30,0
- 160 00d2 01F0 breq .L19
- 161 00d4 D383 std Z+3,r29
- 162 00d6 C283 std Z+2,r28
- 163 00d8 00C0 rjmp .L20
- 164 .L19:
- 165 00da D093 0000 sts cgiFunctionList+1,r29
- 166 00de C093 0000 sts cgiFunctionList,r28
- 167 .L20:
- 168 00e2 F983 std Y+1,r31
- 169 00e4 E883 st Y,r30
- 170 00e6 1B82 std Y+3,__zero_reg__
- 171 00e8 1A82 std Y+2,__zero_reg__
- GAS LISTING /tmp/ccnYUucl.s page 4
- 172 00ea D093 0000 sts cgiFunctionList+2+1,r29
- 173 00ee C093 0000 sts cgiFunctionList+2,r28
- 174 .L27:
- 175 00f2 80E0 ldi r24,0
- 176 00f4 90E0 ldi r25,0
- 177 00f6 00C0 rjmp .L13
- 178 .L14:
- 179 00f8 CE01 movw r24,r28
- 180 00fa 00C0 rjmp .L28
- 181 .L12:
- 182 00fc C114 cp r12,__zero_reg__
- 183 00fe D104 cpc r13,__zero_reg__
- 184 0100 01F0 breq .L21
- 185 0102 D801 movw r26,r16
- 186 0104 1796 adiw r26,6+1
- 187 0106 DC92 st X,r13
- 188 0108 CE92 st -X,r12
- 189 010a 1697 sbiw r26,6
- 190 010c 00C0 rjmp .L26
- 191 .L21:
- 192 010e E801 movw r28,r16
- 193 0110 EA81 ldd r30,Y+2
- 194 0112 FB81 ldd r31,Y+3
- 195 0114 8881 ld r24,Y
- 196 0116 9981 ldd r25,Y+1
- 197 0118 3097 sbiw r30,0
- 198 011a 01F0 breq .L22
- 199 011c 9183 std Z+1,r25
- 200 011e 8083 st Z,r24
- 201 0120 00C0 rjmp .L23
- 202 .L22:
- 203 0122 9093 0000 sts cgiFunctionList+2+1,r25
- 204 0126 8093 0000 sts cgiFunctionList+2,r24
- 205 .L23:
- 206 012a E801 movw r28,r16
- 207 012c A881 ld r26,Y
- 208 012e B981 ldd r27,Y+1
- 209 0130 1097 sbiw r26,0
- 210 0132 01F0 breq .L24
- 211 0134 1396 adiw r26,2+1
- 212 0136 FC93 st X,r31
- 213 0138 EE93 st -X,r30
- 214 013a 1297 sbiw r26,2
- 215 013c 00C0 rjmp .L25
- 216 .L24:
- 217 013e F093 0000 sts cgiFunctionList+1,r31
- 218 0142 E093 0000 sts cgiFunctionList,r30
- 219 .L25:
- 220 0146 F801 movw r30,r16
- 221 0148 8481 ldd r24,Z+4
- 222 014a 9581 ldd r25,Z+5
- 223 014c 0E94 0000 call free
- 224 0150 C801 movw r24,r16
- 225 .L28:
- 226 0152 0E94 0000 call free
- 227 .L26:
- 228 0156 8FEF ldi r24,lo8(-1)
- GAS LISTING /tmp/ccnYUucl.s page 5
- 229 0158 9FEF ldi r25,lo8(-1)
- 230 .L13:
- 231 /* epilogue start */
- 232 015a DF91 pop r29
- 233 015c CF91 pop r28
- 234 015e 1F91 pop r17
- 235 0160 0F91 pop r16
- 236 0162 FF90 pop r15
- 237 0164 EF90 pop r14
- 238 0166 DF90 pop r13
- 239 0168 CF90 pop r12
- 240 016a BF90 pop r11
- 241 016c AF90 pop r10
- 242 016e 0895 ret
- 243 .size HttpRegisterCgiFunction, .-HttpRegisterCgiFunction
- 244 .section .rodata.str1.1,"aMS",@progbits,1
- 245 .LC0:
- 246 0000 5552 4F4D .string "UROM:"
- 246 3A00
- 247 .section .text.HttpCgiFunctionHandler,"ax",@progbits
- 248 .global HttpCgiFunctionHandler
- 249 .type HttpCgiFunctionHandler, @function
- 250 HttpCgiFunctionHandler:
- 251 0000 EF92 push r14
- 252 0002 FF92 push r15
- 253 0004 0F93 push r16
- 254 0006 1F93 push r17
- 255 0008 CF93 push r28
- 256 000a DF93 push r29
- 257 /* prologue: function */
- 258 /* frame size = 0 */
- 259 /* stack size = 6 */
- 260 .L__stack_usage = 6
- 261 000c 7C01 movw r14,r24
- 262 000e 8A01 movw r16,r20
- 263 0010 C091 0000 lds r28,http_root_path
- 264 0014 D091 0000 lds r29,http_root_path+1
- 265 0018 2097 sbiw r28,0
- 266 001a 01F0 breq .L37
- 267 001c DE01 movw r26,r28
- 268 001e 00C0 rjmp .L30
- 269 .L37:
- 270 0020 A0E0 ldi r26,lo8(.LC0)
- 271 0022 B0E0 ldi r27,hi8(.LC0)
- 272 .L30:
- 273 0024 FD01 movw r30,r26
- 274 0:
- 275 0026 0190 ld __tmp_reg__,Z+
- 276 0028 0020 tst __tmp_reg__
- 277 002a 01F4 brne 0b
- 278 002c 3197 sbiw r30,1
- 279 002e AF01 movw r20,r30
- 280 0030 4A1B sub r20,r26
- 281 0032 5B0B sbc r21,r27
- 282 0034 2097 sbiw r28,0
- 283 0036 01F0 breq .L38
- 284 0038 BE01 movw r22,r28
- GAS LISTING /tmp/ccnYUucl.s page 6
- 285 003a 00C0 rjmp .L31
- 286 .L38:
- 287 003c 60E0 ldi r22,lo8(.LC0)
- 288 003e 70E0 ldi r23,hi8(.LC0)
- 289 .L31:
- 290 0040 C801 movw r24,r16
- 291 0042 0E94 0000 call strncasecmp
- 292 0046 892B or r24,r25
- 293 0048 01F4 brne .L32
- 294 004a 2097 sbiw r28,0
- 295 004c 01F4 brne .L33
- 296 004e C0E0 ldi r28,lo8(.LC0)
- 297 0050 D0E0 ldi r29,hi8(.LC0)
- 298 .L33:
- 299 0052 FE01 movw r30,r28
- 300 0:
- 301 0054 0190 ld __tmp_reg__,Z+
- 302 0056 0020 tst __tmp_reg__
- 303 0058 01F4 brne 0b
- 304 005a 3197 sbiw r30,1
- 305 005c CF01 movw r24,r30
- 306 005e 8C1B sub r24,r28
- 307 0060 9D0B sbc r25,r29
- 308 0062 00C0 rjmp .L35
- 309 .L32:
- 310 0064 81E0 ldi r24,lo8(1)
- 311 0066 90E0 ldi r25,0
- 312 0068 D801 movw r26,r16
- 313 006a 2C91 ld r18,X
- 314 006c 2F32 cpi r18,lo8(47)
- 315 006e 01F0 breq .L35
- 316 0070 80E0 ldi r24,0
- 317 0072 90E0 ldi r25,0
- 318 .L35:
- 319 0074 800F add r24,r16
- 320 0076 911F adc r25,r17
- 321 0078 0E94 0000 call HttpCgiFunctionLookup
- 322 007c 0097 sbiw r24,0
- 323 007e 01F0 breq .L36
- 324 0080 DC01 movw r26,r24
- 325 0082 1696 adiw r26,6
- 326 0084 ED91 ld r30,X+
- 327 0086 FC91 ld r31,X
- 328 0088 1797 sbiw r26,6+1
- 329 008a C701 movw r24,r14
- 330 008c 1995 eicall
- 331 .L36:
- 332 008e 80E0 ldi r24,0
- 333 0090 90E0 ldi r25,0
- 334 /* epilogue start */
- 335 0092 DF91 pop r29
- 336 0094 CF91 pop r28
- 337 0096 1F91 pop r17
- 338 0098 0F91 pop r16
- 339 009a FF90 pop r15
- 340 009c EF90 pop r14
- 341 009e 0895 ret
- GAS LISTING /tmp/ccnYUucl.s page 7
- 342 .size HttpCgiFunctionHandler, .-HttpCgiFunctionHandler
- 343 .local cgiFunctionList
- 344 .comm cgiFunctionList,4,1
- 345 .ident "GCC: (GNU) 5.3.0"
- 346 .global __do_copy_data
- 347 .global __do_clear_bss
- GAS LISTING /tmp/ccnYUucl.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 mod_cgi_func.c
- /tmp/ccnYUucl.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccnYUucl.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccnYUucl.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccnYUucl.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccnYUucl.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccnYUucl.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccnYUucl.s:11 .text.HttpCgiFunctionLookup:0000000000000000 HttpCgiFunctionLookup
- .bss:0000000000000000 cgiFunctionList
- /tmp/ccnYUucl.s:55 .text.HttpRegisterCgiFunction:0000000000000000 HttpRegisterCgiFunction
- /tmp/ccnYUucl.s:250 .text.HttpCgiFunctionHandler:0000000000000000 HttpCgiFunctionHandler
- UNDEFINED SYMBOLS
- strcasecmp
- calloc
- strdup
- free
- http_root_path
- strncasecmp
- __do_copy_data
- __do_clear_bss
|