| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- GAS LISTING /tmp/cchG5wqX.s page 1
- 1 .file "envvars.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 .rodata.str1.1,"aMS",@progbits,1
- 9 .LC0:
- 10 0000 00 .string ""
- 11 .LC1:
- 12 0001 5552 4F4D .string "UROM:"
- 12 3A00
- 13 .section .text.HttpSessionInfo,"ax",@progbits
- 14 .global HttpSessionInfo
- 15 .type HttpSessionInfo, @function
- 16 HttpSessionInfo:
- 17 0000 EF92 push r14
- 18 0002 FF92 push r15
- 19 0004 0F93 push r16
- 20 0006 1F93 push r17
- 21 0008 CF93 push r28
- 22 000a DF93 push r29
- 23 000c 00D0 rcall .
- 24 000e 1F92 push __zero_reg__
- 25 0010 CDB7 in r28,__SP_L__
- 26 0012 DEB7 in r29,__SP_H__
- 27 /* prologue: function */
- 28 /* frame size = 4 */
- 29 /* stack size = 10 */
- 30 .L__stack_usage = 10
- 31 0014 DC01 movw r26,r24
- 32 0016 7B01 movw r14,r22
- 33 0018 FB01 movw r30,r22
- 34 001a 3197 sbiw r30,1
- 35 001c EE30 cpi r30,14
- 36 001e F105 cpc r31,__zero_reg__
- 37 0020 00F0 brlo .+2
- 38 0022 00C0 rjmp .L25
- 39 0024 8827 clr r24
- 40 0026 E050 subi r30,pm_lo8(-(.L4))
- 41 0028 F040 sbci r31,pm_hi8(-(.L4))
- 42 002a 8040 sbci r24,pm_hh8(-(.L4))
- 43 002c 0C94 0000 jmp __tablejump2__
- 44 .section .progmem.gcc_sw_table.HttpSessionInfo,"a",@progbits
- 45 .p2align 1
- 46 .L4:
- 47 0000 0000 .word gs(.L3)
- 48 0002 0000 .word gs(.L5)
- 49 0004 0000 .word gs(.L6)
- 50 0006 0000 .word gs(.L7)
- 51 0008 0000 .word gs(.L8)
- 52 000a 0000 .word gs(.L9)
- 53 000c 0000 .word gs(.L25)
- 54 000e 0000 .word gs(.L10)
- 55 0010 0000 .word gs(.L11)
- 56 0012 0000 .word gs(.L12)
- GAS LISTING /tmp/cchG5wqX.s page 2
- 57 0014 0000 .word gs(.L13)
- 58 0016 0000 .word gs(.L14)
- 59 0018 0000 .word gs(.L15)
- 60 001a 0000 .word gs(.L16)
- 61 .section .text.HttpSessionInfo
- 62 .L3:
- 63 0030 CE01 movw r24,r28
- 64 0032 0196 adiw r24,1
- 65 0034 0E94 0000 call time
- 66 0038 CE01 movw r24,r28
- 67 003a 0196 adiw r24,1
- 68 003c 0E94 0000 call gmtime
- 69 0040 00C0 rjmp .L37
- 70 .L5:
- 71 0042 CE01 movw r24,r28
- 72 0044 0196 adiw r24,1
- 73 0046 0E94 0000 call time
- 74 004a CE01 movw r24,r28
- 75 004c 0196 adiw r24,1
- 76 004e 0E94 0000 call localtime
- 77 .L37:
- 78 0052 0E94 0000 call Rfc1123TimeString
- 79 0056 8C01 movw r16,r24
- 80 0058 00C0 rjmp .L17
- 81 .L6:
- 82 005a 1496 adiw r26,4
- 83 005c 0D91 ld r16,X+
- 84 005e 1C91 ld r17,X
- 85 0060 1597 sbiw r26,4+1
- 86 0062 6FE2 ldi r22,lo8(47)
- 87 0064 70E0 ldi r23,0
- 88 0066 C801 movw r24,r16
- 89 0068 0E94 0000 call strrchr
- 90 006c 0097 sbiw r24,0
- 91 006e 01F4 brne .+2
- 92 0070 00C0 rjmp .L17
- 93 0072 8C01 movw r16,r24
- 94 0074 0F5F subi r16,-1
- 95 0076 1F4F sbci r17,-1
- 96 0078 00C0 rjmp .L17
- 97 .L7:
- 98 007a 0091 0000 lds r16,http_root_path
- 99 007e 1091 0000 lds r17,http_root_path+1
- 100 0082 0115 cp r16,__zero_reg__
- 101 0084 1105 cpc r17,__zero_reg__
- 102 0086 01F0 breq .+2
- 103 0088 00C0 rjmp .L19
- 104 008a 00E0 ldi r16,lo8(.LC1)
- 105 008c 10E0 ldi r17,hi8(.LC1)
- 106 008e 00C0 rjmp .L19
- 107 .L8:
- 108 0090 9896 adiw r26,40
- 109 0092 0D91 ld r16,X+
- 110 0094 1C91 ld r17,X
- 111 0096 9997 sbiw r26,40+1
- 112 0098 00C0 rjmp .L17
- 113 .L9:
- GAS LISTING /tmp/cchG5wqX.s page 3
- 114 009a 5096 adiw r26,16
- 115 009c 8D91 ld r24,X+
- 116 009e 9C91 ld r25,X
- 117 00a0 5197 sbiw r26,16+1
- 118 00a2 0297 sbiw r24,2
- 119 00a4 01F4 brne .+2
- 120 00a6 00C0 rjmp .L26
- 121 00a8 00E0 ldi r16,lo8(ct_close)
- 122 00aa 10E0 ldi r17,hi8(ct_close)
- 123 00ac 00C0 rjmp .L17
- 124 .L10:
- 125 00ae 9696 adiw r26,38
- 126 00b0 0D91 ld r16,X+
- 127 00b2 1C91 ld r17,X
- 128 00b4 9797 sbiw r26,38+1
- 129 00b6 00C0 rjmp .L17
- 130 .L11:
- 131 00b8 9496 adiw r26,36
- 132 00ba 0D91 ld r16,X+
- 133 00bc 1C91 ld r17,X
- 134 00be 9597 sbiw r26,36+1
- 135 00c0 00C0 rjmp .L17
- 136 .L12:
- 137 00c2 5E96 adiw r26,30
- 138 00c4 0D91 ld r16,X+
- 139 00c6 1C91 ld r17,X
- 140 00c8 5F97 sbiw r26,30+1
- 141 00ca 00C0 rjmp .L17
- 142 .L13:
- 143 00cc 1896 adiw r26,8
- 144 00ce 0D91 ld r16,X+
- 145 00d0 1C91 ld r17,X
- 146 00d2 1997 sbiw r26,8+1
- 147 00d4 8091 0000 lds r24,env_value.2653
- 148 00d8 9091 0000 lds r25,env_value.2653+1
- 149 00dc 0115 cp r16,__zero_reg__
- 150 00de 1105 cpc r17,__zero_reg__
- 151 00e0 01F0 breq .+2
- 152 00e2 00C0 rjmp .L33
- 153 00e4 0E94 0000 call free
- 154 00e8 80E0 ldi r24,lo8(.LC0)
- 155 00ea 90E0 ldi r25,hi8(.LC0)
- 156 00ec 00C0 rjmp .L35
- 157 .L14:
- 158 00ee 1896 adiw r26,8
- 159 00f0 0D91 ld r16,X+
- 160 00f2 1C91 ld r17,X
- 161 00f4 1997 sbiw r26,8+1
- 162 00f6 00C0 rjmp .L17
- 163 .L15:
- 164 00f8 1296 adiw r26,2
- 165 00fa 8D91 ld r24,X+
- 166 00fc 9C91 ld r25,X
- 167 00fe 1397 sbiw r26,2+1
- 168 0100 8130 cpi r24,1
- 169 0102 9105 cpc r25,__zero_reg__
- 170 0104 01F4 brne .+2
- GAS LISTING /tmp/cchG5wqX.s page 4
- 171 0106 00C0 rjmp .L27
- 172 0108 8330 cpi r24,3
- 173 010a 9105 cpc r25,__zero_reg__
- 174 010c 01F4 brne .+2
- 175 010e 00C0 rjmp .L28
- 176 0110 0297 sbiw r24,2
- 177 0112 01F4 brne .L25
- 178 0114 00C0 rjmp .L29
- 179 .L16:
- 180 0116 1496 adiw r26,4
- 181 0118 0D91 ld r16,X+
- 182 011a 1C91 ld r17,X
- 183 011c 1597 sbiw r26,4+1
- 184 011e 00C0 rjmp .L17
- 185 .L25:
- 186 0120 00E0 ldi r16,lo8(.LC0)
- 187 0122 10E0 ldi r17,hi8(.LC0)
- 188 .L2:
- 189 0124 8091 0000 lds r24,env_value.2653
- 190 0128 9091 0000 lds r25,env_value.2653+1
- 191 012c 0E94 0000 call free
- 192 0130 C801 movw r24,r16
- 193 0132 0E94 0000 call strdup
- 194 0136 9093 0000 sts env_value.2653+1,r25
- 195 013a 8093 0000 sts env_value.2653,r24
- 196 013e 2BE0 ldi r18,11
- 197 0140 E216 cp r14,r18
- 198 0142 F104 cpc r15,__zero_reg__
- 199 0144 01F4 brne .L22
- 200 .L23:
- 201 0146 0E94 0000 call HttpUrlUnescape
- 202 .L22:
- 203 014a 8091 0000 lds r24,env_value.2653
- 204 014e 9091 0000 lds r25,env_value.2653+1
- 205 /* epilogue start */
- 206 0152 0F90 pop __tmp_reg__
- 207 0154 0F90 pop __tmp_reg__
- 208 0156 0F90 pop __tmp_reg__
- 209 0158 0F90 pop __tmp_reg__
- 210 015a DF91 pop r29
- 211 015c CF91 pop r28
- 212 015e 1F91 pop r17
- 213 0160 0F91 pop r16
- 214 0162 FF90 pop r15
- 215 0164 EF90 pop r14
- 216 0166 0895 ret
- 217 .L19:
- 218 0168 8091 0000 lds r24,env_value.2653
- 219 016c 9091 0000 lds r25,env_value.2653+1
- 220 0170 0E94 0000 call free
- 221 0174 C801 movw r24,r16
- 222 0176 00C0 rjmp .L36
- 223 .L26:
- 224 0178 00E0 ldi r16,lo8(ct_Keep_Alive)
- 225 017a 10E0 ldi r17,hi8(ct_Keep_Alive)
- 226 .L17:
- 227 017c 0115 cp r16,__zero_reg__
- GAS LISTING /tmp/cchG5wqX.s page 5
- 228 017e 1105 cpc r17,__zero_reg__
- 229 0180 01F4 brne .L2
- 230 0182 8091 0000 lds r24,env_value.2653
- 231 0186 9091 0000 lds r25,env_value.2653+1
- 232 018a 0E94 0000 call free
- 233 018e 80E0 ldi r24,lo8(.LC0)
- 234 0190 90E0 ldi r25,hi8(.LC0)
- 235 .L36:
- 236 0192 0E94 0000 call strdup
- 237 0196 9093 0000 sts env_value.2653+1,r25
- 238 019a 8093 0000 sts env_value.2653,r24
- 239 019e 00C0 rjmp .L22
- 240 .L27:
- 241 01a0 00E0 ldi r16,lo8(ct_GET)
- 242 01a2 10E0 ldi r17,hi8(ct_GET)
- 243 01a4 00C0 rjmp .L17
- 244 .L28:
- 245 01a6 00E0 ldi r16,lo8(ct_HEAD)
- 246 01a8 10E0 ldi r17,hi8(ct_HEAD)
- 247 01aa 00C0 rjmp .L17
- 248 .L29:
- 249 01ac 00E0 ldi r16,lo8(ct_POST)
- 250 01ae 10E0 ldi r17,hi8(ct_POST)
- 251 01b0 00C0 rjmp .L17
- 252 .L33:
- 253 01b2 0E94 0000 call free
- 254 01b6 C801 movw r24,r16
- 255 .L35:
- 256 01b8 0E94 0000 call strdup
- 257 01bc 9093 0000 sts env_value.2653+1,r25
- 258 01c0 8093 0000 sts env_value.2653,r24
- 259 01c4 00C0 rjmp .L23
- 260 .size HttpSessionInfo, .-HttpSessionInfo
- 261 .section .text.HttpStreamInfo,"ax",@progbits
- 262 .global HttpStreamInfo
- 263 .type HttpStreamInfo, @function
- 264 HttpStreamInfo:
- 265 /* prologue: function */
- 266 /* frame size = 0 */
- 267 /* stack size = 0 */
- 268 .L__stack_usage = 0
- 269 0000 FC01 movw r30,r24
- 270 0002 8081 ld r24,Z
- 271 0004 9181 ldd r25,Z+1
- 272 0006 0C94 0000 jmp StreamInfo
- 273 .size HttpStreamInfo, .-HttpStreamInfo
- 274 .section .text.EnvHandler,"ax",@progbits
- 275 .global EnvHandler
- 276 .type EnvHandler, @function
- 277 EnvHandler:
- 278 0000 EF92 push r14
- 279 0002 FF92 push r15
- 280 0004 0F93 push r16
- 281 0006 1F93 push r17
- 282 0008 CF93 push r28
- 283 000a DF93 push r29
- 284 /* prologue: function */
- GAS LISTING /tmp/cchG5wqX.s page 6
- 285 /* frame size = 0 */
- 286 /* stack size = 6 */
- 287 .L__stack_usage = 6
- 288 000c 8C01 movw r16,r24
- 289 000e 7B01 movw r14,r22
- 290 0010 C091 0000 lds r28,envVarList
- 291 0014 D091 0000 lds r29,envVarList+1
- 292 .L41:
- 293 0018 2097 sbiw r28,0
- 294 001a 01F0 breq .L48
- 295 001c B701 movw r22,r14
- 296 001e 8C81 ldd r24,Y+4
- 297 0020 9D81 ldd r25,Y+5
- 298 0022 0E94 0000 call strcasecmp
- 299 0026 1816 cp __zero_reg__,r24
- 300 0028 1906 cpc __zero_reg__,r25
- 301 002a 04F0 brlt .L42
- 302 002c 892B or r24,r25
- 303 002e 01F4 brne .L48
- 304 0030 00C0 rjmp .L50
- 305 .L42:
- 306 0032 0A80 ldd __tmp_reg__,Y+2
- 307 0034 DB81 ldd r29,Y+3
- 308 0036 C02D mov r28,__tmp_reg__
- 309 0038 00C0 rjmp .L41
- 310 .L50:
- 311 003a 6885 ldd r22,Y+8
- 312 003c 7985 ldd r23,Y+9
- 313 003e 77FF sbrs r23,7
- 314 0040 00C0 rjmp .L46
- 315 0042 7195 neg r23
- 316 0044 6195 neg r22
- 317 0046 7109 sbc r23,__zero_reg__
- 318 .L46:
- 319 0048 EE81 ldd r30,Y+6
- 320 004a FF81 ldd r31,Y+7
- 321 004c C801 movw r24,r16
- 322 /* epilogue start */
- 323 004e DF91 pop r29
- 324 0050 CF91 pop r28
- 325 0052 1F91 pop r17
- 326 0054 0F91 pop r16
- 327 0056 FF90 pop r15
- 328 0058 EF90 pop r14
- 329 005a 1994 eijmp
- 330 .L48:
- 331 005c 80E0 ldi r24,lo8(empty.2679)
- 332 005e 90E0 ldi r25,hi8(empty.2679)
- 333 /* epilogue start */
- 334 0060 DF91 pop r29
- 335 0062 CF91 pop r28
- 336 0064 1F91 pop r17
- 337 0066 0F91 pop r16
- 338 0068 FF90 pop r15
- 339 006a EF90 pop r14
- 340 006c 0895 ret
- 341 .size EnvHandler, .-EnvHandler
- GAS LISTING /tmp/cchG5wqX.s page 7
- 342 .local empty.2679
- 343 .comm empty.2679,1,1
- 344 .local env_value.2653
- 345 .comm env_value.2653,2,1
- 346 .global envVarList
- 347 .section .bss
- 348 .type envVarList, @object
- 349 .size envVarList, 4
- 350 envVarList:
- 351 0000 0000 0000 .zero 4
- 352 .ident "GCC: (GNU) 5.3.0"
- 353 .global __do_copy_data
- 354 .global __do_clear_bss
- GAS LISTING /tmp/cchG5wqX.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 envvars.c
- /tmp/cchG5wqX.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cchG5wqX.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cchG5wqX.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cchG5wqX.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cchG5wqX.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cchG5wqX.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cchG5wqX.s:16 .text.HttpSessionInfo:0000000000000000 HttpSessionInfo
- /tmp/cchG5wqX.s:343 .bss:0000000000000005 env_value.2653
- /tmp/cchG5wqX.s:264 .text.HttpStreamInfo:0000000000000000 HttpStreamInfo
- /tmp/cchG5wqX.s:277 .text.EnvHandler:0000000000000000 EnvHandler
- /tmp/cchG5wqX.s:350 .bss:0000000000000000 envVarList
- .bss:0000000000000004 empty.2679
- UNDEFINED SYMBOLS
- __tablejump2__
- time
- gmtime
- localtime
- Rfc1123TimeString
- strrchr
- http_root_path
- ct_close
- free
- strdup
- HttpUrlUnescape
- ct_Keep_Alive
- ct_GET
- ct_HEAD
- ct_POST
- StreamInfo
- strcasecmp
- __do_copy_data
- __do_clear_bss
|