- use RESERVE_CONFIG_BUFFER. For defconfig this gives: text data bss dec hex filename 3627 4 120 3751 ea7 networking/arping.o.oorig 3548 4 96 3648 e40 networking/arping.o.r14710 3520 4 96 3620 e24 networking/arping.o
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -71,7 +71,7 @@ static int send_pack(int sock, struct in_addr *src_addr, | |
| { | |
| int err; | |
| struct timeval now; | |
| - | unsigned char buf[256]; |
| + | RESERVE_CONFIG_UBUFFER(buf, 256); |
| struct arphdr *ah = (struct arphdr *) buf; | |
| unsigned char *p = (unsigned char *) (ah + 1); | |
| @@ -105,6 +105,7 @@ static int send_pack(int sock, struct in_addr *src_addr, | |
| if (!(cfg&unicasting)) | |
| brd_sent++; | |
| } | |
| + | RELEASE_CONFIG_BUFFER(buf); |
| return err; | |
| } | |
| @@ -456,12 +457,12 @@ int arping_main(int argc, char **argv) | |
| while (1) { | |
| sigset_t sset, osset; | |
| - | unsigned char packet[4096]; |
| + | RESERVE_CONFIG_UBUFFER(packet, 4096); |
| struct sockaddr_ll from; | |
| socklen_t alen = sizeof(from); | |
| int cc; | |
| - | if ((cc = recvfrom(s, packet, sizeof(packet), 0, |
| + | if ((cc = recvfrom(s, packet, 4096, 0, |
| (struct sockaddr *) &from, &alen)) < 0) { | |
| perror("recvfrom"); | |
| continue; | |
| @@ -472,5 +473,6 @@ int arping_main(int argc, char **argv) | |
| sigprocmask(SIG_BLOCK, &sset, &osset); | |
| recv_pack(packet, cc, &from); | |
| sigprocmask(SIG_SETMASK, &osset, NULL); | |
| + | RELEASE_CONFIG_BUFFER(packet); |
| } | |
| } | |