GAS LISTING /tmp/ccv2dJ3o.s page 1 1 .file "mod_redir.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.HttpLocationLookup,"ax",@progbits 9 .global HttpLocationLookup 10 .type HttpLocationLookup, @function 11 HttpLocationLookup: 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,locationList 22 000e D091 0000 lds r29,locationList+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 HttpLocationLookup, .-HttpLocationLookup 52 .section .text.HttpLocationRedir,"ax",@progbits 53 .global HttpLocationRedir 54 .type HttpLocationRedir, @function 55 HttpLocationRedir: 56 0000 CF93 push r28 57 0002 DF93 push r29 GAS LISTING /tmp/ccv2dJ3o.s page 2 58 /* prologue: function */ 59 /* frame size = 0 */ 60 /* stack size = 2 */ 61 .L__stack_usage = 2 62 0004 EC01 movw r28,r24 63 0006 8C81 ldd r24,Y+4 64 0008 9D81 ldd r25,Y+5 65 000a 0E94 0000 call HttpLocationLookup 66 000e FC01 movw r30,r24 67 0010 892B or r24,r25 68 0012 01F0 breq .L10 69 0014 1F92 push __zero_reg__ 70 0016 1F92 push __zero_reg__ 71 0018 8781 ldd r24,Z+7 72 001a 8F93 push r24 73 001c 8681 ldd r24,Z+6 74 001e 8F93 push r24 75 0020 8185 ldd r24,Z+9 76 0022 8F93 push r24 77 0024 8085 ldd r24,Z+8 78 0026 8F93 push r24 79 0028 DF93 push r29 80 002a CF93 push r28 81 002c 0E94 0000 call HttpSendRedirection 82 0030 8DB7 in r24,__SP_L__ 83 0032 9EB7 in r25,__SP_H__ 84 0034 0896 adiw r24,8 85 0036 0FB6 in __tmp_reg__,__SREG__ 86 0038 F894 cli 87 003a 9EBF out __SP_H__,r25 88 003c 0FBE out __SREG__,__tmp_reg__ 89 003e 8DBF out __SP_L__,r24 90 0040 80E0 ldi r24,0 91 0042 90E0 ldi r25,0 92 0044 00C0 rjmp .L9 93 .L10: 94 0046 8FEF ldi r24,lo8(-1) 95 0048 9FEF ldi r25,lo8(-1) 96 .L9: 97 /* epilogue start */ 98 004a DF91 pop r29 99 004c CF91 pop r28 100 004e 0895 ret 101 .size HttpLocationRedir, .-HttpLocationRedir 102 .section .text.HttpRegisterRedir,"ax",@progbits 103 .global HttpRegisterRedir 104 .type HttpRegisterRedir, @function 105 HttpRegisterRedir: 106 0000 8F92 push r8 107 0002 9F92 push r9 108 0004 AF92 push r10 109 0006 BF92 push r11 110 0008 CF92 push r12 111 000a DF92 push r13 112 000c EF92 push r14 113 000e FF92 push r15 114 0010 0F93 push r16 GAS LISTING /tmp/ccv2dJ3o.s page 3 115 0012 1F93 push r17 116 0014 CF93 push r28 117 0016 DF93 push r29 118 /* prologue: function */ 119 /* frame size = 0 */ 120 /* stack size = 12 */ 121 .L__stack_usage = 12 122 0018 4C01 movw r8,r24 123 001a 5B01 movw r10,r22 124 001c 6A01 movw r12,r20 125 001e E090 0000 lds r14,locationList 126 0022 F090 0000 lds r15,locationList+1 127 0026 8701 movw r16,r14 128 0028 8FEF ldi r24,lo8(-1) 129 002a 9FEF ldi r25,lo8(-1) 130 .L12: 131 002c 0115 cp r16,__zero_reg__ 132 002e 1105 cpc r17,__zero_reg__ 133 0030 01F0 breq .L33 134 0032 B401 movw r22,r8 135 0034 F801 movw r30,r16 136 0036 8481 ldd r24,Z+4 137 0038 9581 ldd r25,Z+5 138 003a 0E94 0000 call strcasecmp 139 003e 0097 sbiw r24,0 140 0040 01F4 brne .L13 141 0042 F801 movw r30,r16 142 0044 8681 ldd r24,Z+6 143 0046 9781 ldd r25,Z+7 144 0048 0E94 0000 call free 145 004c C501 movw r24,r10 146 004e 0E94 0000 call strdup 147 0052 F801 movw r30,r16 148 0054 9783 std Z+7,r25 149 0056 8683 std Z+6,r24 150 0058 D186 std Z+9,r13 151 005a C086 std Z+8,r12 152 005c 00C0 rjmp .L30 153 .L13: 154 005e 97FD sbrc r25,7 155 0060 00C0 rjmp .L15 156 0062 F801 movw r30,r16 157 0064 0281 ldd r16,Z+2 158 0066 1381 ldd r17,Z+3 159 0068 00C0 rjmp .L12 160 .L33: 161 006a 892B or r24,r25 162 006c 01F4 brne .+2 163 006e 00C0 rjmp .L32 164 .L15: 165 0070 6CE0 ldi r22,lo8(12) 166 0072 70E0 ldi r23,0 167 0074 81E0 ldi r24,lo8(1) 168 0076 90E0 ldi r25,0 169 0078 0E94 0000 call calloc 170 007c EC01 movw r28,r24 171 007e 892B or r24,r25 GAS LISTING /tmp/ccv2dJ3o.s page 4 172 0080 01F4 brne .+2 173 0082 00C0 rjmp .L32 174 0084 C401 movw r24,r8 175 0086 0E94 0000 call strdup 176 008a 4C01 movw r8,r24 177 008c 9D83 std Y+5,r25 178 008e 8C83 std Y+4,r24 179 0090 892B or r24,r25 180 0092 01F4 brne .+2 181 0094 00C0 rjmp .L18 182 0096 C501 movw r24,r10 183 0098 0E94 0000 call strdup 184 009c 9F83 std Y+7,r25 185 009e 8E83 std Y+6,r24 186 00a0 892B or r24,r25 187 00a2 01F4 brne .+2 188 00a4 00C0 rjmp .L19 189 00a6 D986 std Y+9,r13 190 00a8 C886 std Y+8,r12 191 00aa 0115 cp r16,__zero_reg__ 192 00ac 1105 cpc r17,__zero_reg__ 193 00ae 01F0 breq .L20 194 00b0 F801 movw r30,r16 195 00b2 8081 ld r24,Z 196 00b4 9181 ldd r25,Z+1 197 00b6 0097 sbiw r24,0 198 00b8 01F4 brne .L21 199 00ba E114 cp r14,__zero_reg__ 200 00bc F104 cpc r15,__zero_reg__ 201 00be 01F0 breq .L22 202 00c0 F701 movw r30,r14 203 00c2 D183 std Z+1,r29 204 00c4 C083 st Z,r28 205 00c6 00C0 rjmp .L23 206 .L22: 207 00c8 D093 0000 sts locationList+2+1,r29 208 00cc C093 0000 sts locationList+2,r28 209 .L23: 210 00d0 1982 std Y+1,__zero_reg__ 211 00d2 1882 st Y,__zero_reg__ 212 00d4 FB82 std Y+3,r15 213 00d6 EA82 std Y+2,r14 214 00d8 D093 0000 sts locationList+1,r29 215 00dc C093 0000 sts locationList,r28 216 00e0 00C0 rjmp .L24 217 .L21: 218 00e2 9983 std Y+1,r25 219 00e4 8883 st Y,r24 220 00e6 F801 movw r30,r16 221 00e8 D183 std Z+1,r29 222 00ea C083 st Z,r28 223 00ec E881 ld r30,Y 224 00ee F981 ldd r31,Y+1 225 00f0 D383 std Z+3,r29 226 00f2 C283 std Z+2,r28 227 00f4 1B83 std Y+3,r17 228 00f6 0A83 std Y+2,r16 GAS LISTING /tmp/ccv2dJ3o.s page 5 229 00f8 00C0 rjmp .L24 230 .L20: 231 00fa E091 0000 lds r30,locationList+2 232 00fe F091 0000 lds r31,locationList+2+1 233 0102 3097 sbiw r30,0 234 0104 01F0 breq .L25 235 0106 D383 std Z+3,r29 236 0108 C283 std Z+2,r28 237 010a 00C0 rjmp .L26 238 .L25: 239 010c D093 0000 sts locationList+1,r29 240 0110 C093 0000 sts locationList,r28 241 .L26: 242 0114 F983 std Y+1,r31 243 0116 E883 st Y,r30 244 0118 1B82 std Y+3,__zero_reg__ 245 011a 1A82 std Y+2,__zero_reg__ 246 011c D093 0000 sts locationList+2+1,r29 247 0120 C093 0000 sts locationList+2,r28 248 .L24: 249 0124 80E0 ldi r24,lo8(gs(HttpLocationRedir)) 250 0126 90E0 ldi r25,hi8(gs(HttpLocationRedir)) 251 0128 9093 0000 sts httpd_loc_redirector+1,r25 252 012c 8093 0000 sts httpd_loc_redirector,r24 253 .L30: 254 0130 80E0 ldi r24,0 255 0132 90E0 ldi r25,0 256 0134 00C0 rjmp .L14 257 .L19: 258 0136 C401 movw r24,r8 259 0138 00C0 rjmp .L31 260 .L18: 261 013a CE01 movw r24,r28 262 .L31: 263 013c 0E94 0000 call free 264 .L32: 265 0140 8FEF ldi r24,lo8(-1) 266 0142 9FEF ldi r25,lo8(-1) 267 .L14: 268 /* epilogue start */ 269 0144 DF91 pop r29 270 0146 CF91 pop r28 271 0148 1F91 pop r17 272 014a 0F91 pop r16 273 014c FF90 pop r15 274 014e EF90 pop r14 275 0150 DF90 pop r13 276 0152 CF90 pop r12 277 0154 BF90 pop r11 278 0156 AF90 pop r10 279 0158 9F90 pop r9 280 015a 8F90 pop r8 281 015c 0895 ret 282 .size HttpRegisterRedir, .-HttpRegisterRedir 283 .local locationList 284 .comm locationList,4,1 285 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccv2dJ3o.s page 6 286 .global __do_clear_bss GAS LISTING /tmp/ccv2dJ3o.s page 7 DEFINED SYMBOLS *ABS*:0000000000000000 mod_redir.c /tmp/ccv2dJ3o.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccv2dJ3o.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccv2dJ3o.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccv2dJ3o.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccv2dJ3o.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccv2dJ3o.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccv2dJ3o.s:11 .text.HttpLocationLookup:0000000000000000 HttpLocationLookup .bss:0000000000000000 locationList /tmp/ccv2dJ3o.s:55 .text.HttpLocationRedir:0000000000000000 HttpLocationRedir /tmp/ccv2dJ3o.s:105 .text.HttpRegisterRedir:0000000000000000 HttpRegisterRedir UNDEFINED SYMBOLS strcasecmp HttpSendRedirection free strdup calloc httpd_loc_redirector __do_clear_bss