envvars.lst 14 KB

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