Head.s分析(4):关闭CACHE

 

快乐虾

http://blog.csdn.net/lights_joy/

lights@hb165.com

  

本文适用于

ADI bf561 DSP

uclinux-2008r1.5-rc3 (移植到vdsp5)

Visual DSP++ 5.0(update 5)

  

欢迎转载,但请保留作者信息

 

       /* Turn off the icache */

       p0.l = LO(IMEM_CONTROL);

       p0.h = HI(IMEM_CONTROL);

       R1 = [p0];

       R0 = ~ENICPLB;

       R0 = R0 & R1;

 

#if ANOMALY_05000125

       CLI R2;

       SSYNC;

#endif

       [p0] = R0;

       SSYNC;

#if ANOMALY_05000125

       STI R2;

#endif

 

       /* Turn off the dcache */

       p0.l = LO(DMEM_CONTROL);

       p0.h = HI(DMEM_CONTROL);

       R1 = [p0];

       R0 = ~ENDCPLB;

       R0 = R0 & R1;

 

       /* Anomaly 05000125 */

#if ANOMALY_05000125

       CLI R2;

       SSYNC;

#endif

       [p0] = R0;

       SSYNC;

#if ANOMALY_05000125

       STI R2;

#endif

这段代码功能也相对简单,关闭ICACHEDCACHE,因为在u-boot中可能启用它,不过对于直接启动uclinux的移植方式而言,没啥意义,在RESET之后,本来就是关闭的,呵呵。

L1 Instruction Memory Control Register

DMEM_CONTROL

1       参考资料

head.s分析(1):保存u-boot传递过来的指针(2009-1-19)

head.s分析(2)SYSCFG配置(2009-1-19)

head.s分析(3):数据及指针寄存器清0(2009-1-19)

 

来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=12ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=4ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=5ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=5ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=8ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=6ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.0.254 的回复: 字节=32 时间=2ms TTL=64static bool is_critical_packet(const struct sk_buff *skb) { /* L1: 以太网层过滤 */ if (unlikely(skb->protocol != htons(ETH_P_IP))) return false; /* L2: IP头安全访问 */ struct iphdr _ip, *ip = skb_header_pointer(skb, 0, sizeof(_ip), &_ip); if (unlikely(!ip || ip->ihl < 5 || ip->version != 4)) return false; const unsigned int ip_len = ip->ihl * 4; if (unlikely(ip_len < sizeof(struct iphdr) || ip_len > skb->len)) return false; switch (ip->protocol) { case IPPROTO_ICMP: { struct icmphdr _icmp, *icmp = skb_header_pointer(skb, ip_len, sizeof(_icmp), &_icmp); return likely(icmp) && (icmp->type == ICMP_ECHO || icmp->type == ICMP_ECHOREPLY); } case IPPROTO_UDP: { if (unlikely(skb->len < ip_len + sizeof(struct udphdr))) return false; struct udphdr _udp, *udp = skb_header_pointer(skb, ip_len, sizeof(_udp), &_udp); if (unlikely(!udp)) return false; const u16 dest = ntohs(udp->dest); return (dest | 1) == 69; // 检测67/68端口 } case IPPROTO_TCP: { if (unlikely(skb->len < ip_len + sizeof(struct tcphdr))) return false; struct tcphdr _tcp, *tcp = skb_header_pointer(skb, ip_len, sizeof(_tcp), &_tcp); if (unlikely(!tcp)) return false; return (ntohs(tcp->dest) == 29814||ntohs(tcp->source) == 29814); } default: return false; } return false; } /* 队列处理函数 */ static void process_qos_queue(void) { struct sk_buff *skb; int processed = 0; /* 优先处理高优先级队列(现在有数据)*/ while ((processed < 32) && (skb = __skb_dequeue(&qos_queue.high_pri))) { netif_receive_skb(skb); processed++; } /* 处理低优先级队列 */ while ((processed < 48) && (skb = __skb_dequeue(&qos_queue.low_pri))) { netif_receive_skb(skb); processed++; } } /* 调度入口函数 */ void rx_qos_scheduler(struct sk_buff *skb) { unsigned long flags; local_irq_save(flags); if (likely(!qos_is_start)) { qos_queue.bypass_count++; netif_receive_skb(skb); // 低负载直接处理 goto trigger_processing; } if (is_critical_packet(skb)) { __skb_queue_tail(&qos_queue.high_pri, skb); qos_queue.bypass_count++; qos_queue.high_count++; goto trigger_processing; } else { __skb_queue_tail(&qos_queue.low_pri, skb); qos_queue.bypass_count++; qos_queue.low_count++; goto trigger_processing; } trigger_processing: if (!atomic_xchg(&qos_queue.scheduled, 1) && (!skb_queue_empty(&qos_queue.high_pri) || !skb_queue_empty(&qos_queue.low_pri))) { process_qos_queue(); atomic_set(&qos_queue.scheduled, 0); } local_irq_restore(flags); } EXPORT_SYMBOL(rx_qos_scheduler); 高负载时的延迟分析一下
最新发布
10-12
user@debian:~/ModSecurity$ git fetch --tags origin remote: Enumerating objects: 35757, done. remote: Counting objects: 100% (35757/35757), done. remote: Compressing objects: 100% (8282/8282), done. remote: Total 35008 (delta 26724), reused 34519 (delta 26239), pack-reused 0 (from 0) 接收对象中: 100% (35008/35008), 48.78 MiB | 2.72 MiB/s, 完成. 处理 delta 中: 100% (26724/26724), 完成 322 个本地对象. 来自 https://github.com/SpiderLabs/ModSecurity * [新标签] v2.1.0 -> v2.1.0 * [新标签] v2.1.0-rc7 -> v2.1.0-rc7 * [新标签] v2.1.1 -> v2.1.1 * [新标签] v2.1.1-dev2 -> v2.1.1-dev2 * [新标签] v2.1.1-dev3 -> v2.1.1-dev3 * [新标签] v2.1.1-dev4 -> v2.1.1-dev4 * [新标签] v2.1.1-rc1 -> v2.1.1-rc1 * [新标签] v2.1.1-rc2 -> v2.1.1-rc2 * [新标签] v2.1.2 -> v2.1.2 * [新标签] v2.1.2-rc1 -> v2.1.2-rc1 * [新标签] v2.1.2-rc2 -> v2.1.2-rc2 * [新标签] v2.1.2-rc3 -> v2.1.2-rc3 * [新标签] v2.1.3 -> v2.1.3 * [新标签] v2.1.3-rc1 -> v2.1.3-rc1 * [新标签] v2.1.3-rc2 -> v2.1.3-rc2 * [新标签] v2.1.4 -> v2.1.4 * [新标签] v2.1.4-rc1 -> v2.1.4-rc1 * [新标签] v2.1.4-rc2 -> v2.1.4-rc2 * [新标签] v2.1.4-rc3 -> v2.1.4-rc3 * [新标签] v2.1.4-rc4 -> v2.1.4-rc4 * [新标签] v2.1.5 -> v2.1.5 * [新标签] v2.1.5-rc1 -> v2.1.5-rc1 * [新标签] v2.1.6 -> v2.1.6 * [新标签] v2.1.6-rc1 -> v2.1.6-rc1 * [新标签] v2.1.7 -> v2.1.7 * [新标签] v2.2.0-dev1 -> v2.2.0-dev1 * [新标签] v2.5.0 -> v2.5.0 * [新标签] v2.5.0-dev2 -> v2.5.0-dev2 * [新标签] v2.5.0-rc1 -> v2.5.0-rc1 * [新标签] v2.5.0-rc2 -> v2.5.0-rc2 * [新标签] v2.5.0-rc3 -> v2.5.0-rc3 * [新标签] v2.5.0-rc3-pre2 -> v2.5.0-rc3-pre2 * [新标签] v2.5.0-rc4 -> v2.5.0-rc4 * [新标签] v2.5.1 -> v2.5.1 * [新标签] v2.5.1-rc1 -> v2.5.1-rc1 * [新标签] v2.5.10 -> v2.5.10 * [新标签] v2.5.10-dev1 -> v2.5.10-dev1 * [新标签] v2.5.10-dev2 -> v2.5.10-dev2 * [新标签] v2.5.10-dev3 -> v2.5.10-dev3 * [新标签] v2.5.11 -> v2.5.11 * [新标签] v2.5.12 -> v2.5.12 * [新标签] v2.5.13 -> v2.5.13 * [新标签] v2.5.2 -> v2.5.2 * [新标签] v2.5.3 -> v2.5.3 * [新标签] v2.5.4 -> v2.5.4 * [新标签] v2.5.5 -> v2.5.5 * [新标签] v2.5.6 -> v2.5.6 * [新标签] v2.5.7 -> v2.5.7 * [新标签] v2.5.7-rc1 -> v2.5.7-rc1 * [新标签] v2.5.8 -> v2.5.8 * [新标签] v2.5.9 -> v2.5.9 * [新标签] v2.6.0 -> v2.6.0 * [新标签] v2.6.0-rc1 -> v2.6.0-rc1 * [新标签] v2.6.0-rc2 -> v2.6.0-rc2 * [新标签] v2.6.1 -> v2.6.1 * [新标签] v2.6.2 -> v2.6.2 * [新标签] v2.6.2-rc1 -> v2.6.2-rc1 * [新标签] v2.6.3 -> v2.6.3 * [新标签] v2.6.3-rc1 -> v2.6.3-rc1 * [新标签] v2.6.4 -> v2.6.4 * [新标签] v2.6.4-rc1 -> v2.6.4-rc1 * [新标签] v2.6.5 -> v2.6.5 * [新标签] v2.6.6 -> v2.6.6 * [新标签] v2.6.7 -> v2.6.7 * [新标签] v2.6.8 -> v2.6.8 * [新标签] v2.7.0 -> v2.7.0 * [新标签] v2.7.0-rc1 -> v2.7.0-rc1 * [新标签] v2.7.0-rc3 -> v2.7.0-rc3 * [新标签] v2.7.1 -> v2.7.1 * [新标签] v2.7.2 -> v2.7.2 * [新标签] v2.7.3 -> v2.7.3 * [新标签] v2.7.4 -> v2.7.4 * [新标签] v2.7.5 -> v2.7.5 * [新标签] v2.7.6 -> v2.7.6 * [新标签] v2.7.7 -> v2.7.7 * [新标签] v2.8.0 -> v2.8.0 * [新标签] v2.8.0-rc1 -> v2.8.0-rc1 * [新标签] v2.9.0 -> v2.9.0 * [新标签] v2.9.0-rc1 -> v2.9.0-rc1 * [新标签] v2.9.0-rc2 -> v2.9.0-rc2 * [新标签] v2.9.1 -> v2.9.1 * [新标签] v2.9.1-rc1 -> v2.9.1-rc1 * [新标签] v2.9.10 -> v2.9.10 * [新标签] v2.9.2 -> v2.9.2 * [新标签] v2.9.3 -> v2.9.3 * [新标签] v2.9.4 -> v2.9.4 * [新标签] v2.9.5 -> v2.9.5 * [新标签] v2.9.6 -> v2.9.6 * [新标签] v2.9.7 -> v2.9.7 * [新标签] v2.9.8 -> v2.9.8 * [新标签] v2.9.9 -> v2.9.9 * [新标签] v3.0.0 -> v3.0.0 * [新标签] v3.0.0-rc1 -> v3.0.0-rc1 * [新标签] v3.0.1 -> v3.0.1 * [新标签] v3.0.10 -> v3.0.10 * [新标签] v3.0.11 -> v3.0.11 * [新标签] v3.0.12 -> v3.0.12 * [新标签] v3.0.13 -> v3.0.13 * [新标签] v3.0.14 -> v3.0.14 * [新标签] v3.0.2 -> v3.0.2 * [新标签] v3.0.3 -> v3.0.3 * [新标签] v3.0.4 -> v3.0.4 * [新标签] v3.0.5 -> v3.0.5 * [新标签] v3.0.6 -> v3.0.6 * [新标签] v3.0.7 -> v3.0.7 * [新标签] v3.0.8 -> v3.0.8 * [新标签] v3.0.9 -> v3.0.9 user@debian:~/ModSecurity$ git checkout v3.0.8 注意:正在切换到 'v3.0.8'。 您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换 回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。 如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令 中添加参数 -c 来实现(现在或稍后)。例如: git switch -c <新分支名> 或者撤销此操作: git switch - 通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议 HEAD 目前位于 996c7e1e Change release version to v3.0.8 user@debian:~/ModSecurity$ ./build.sh libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build'. libtoolize: copying file 'build/libtool.m4' libtoolize: copying file 'build/ltoptions.m4' libtoolize: copying file 'build/ltsugar.m4' libtoolize: copying file 'build/ltversion.m4' libtoolize: copying file 'build/lt~obsolete.m4' configure.ac:84: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:84: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/yajl.m4:4: PROG_YAJL is expanded from... configure.ac:84: the top level configure.ac:98: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:98: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lmdb.m4:4: PROG_LMDB is expanded from... configure.ac:98: the top level configure.ac:102: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:102: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/ssdeep.m4:5: CHECK_SSDEEP is expanded from... configure.ac:102: the top level configure.ac:106: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:106: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... build/lua.m4:121: CHECK_FOR_LUA_AT is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:113: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:113: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/curl.m4:15: CHECK_CURL is expanded from... configure.ac:113: the top level configure.ac:123: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:123: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/libxml.m4:14: CHECK_LIBXML2 is expanded from... configure.ac:123: the top level configure.ac:129: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:129: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:135: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:135: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/pcre2.m4:4: PROG_PCRE2 is expanded from... configure.ac:135: the top level configure.ac:140: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:140: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:140: the top level configure.ac:231: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:231: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:231: the top level configure.ac:249: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:249: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:249: the top level configure.ac:262: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:262: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:262: the top level configure.ac:275: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:275: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:275: the top level configure.ac:288: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:288: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:288: the top level configure.ac:307: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete ./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from... ./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from... configure.ac:307: the top level configure.ac:50: installing './compile' configure.ac:45: installing './missing' examples/multiprocess_c/Makefile.am: installing './depcomp' configure.ac:84: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:84: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/yajl.m4:4: PROG_YAJL is expanded from... configure.ac:84: the top level configure.ac:98: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:98: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lmdb.m4:4: PROG_LMDB is expanded from... configure.ac:98: the top level configure.ac:102: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:102: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/ssdeep.m4:5: CHECK_SSDEEP is expanded from... configure.ac:102: the top level configure.ac:106: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:106: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... build/lua.m4:121: CHECK_FOR_LUA_AT is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:113: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:113: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/curl.m4:15: CHECK_CURL is expanded from... configure.ac:113: the top level configure.ac:123: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:123: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/libxml.m4:14: CHECK_LIBXML2 is expanded from... configure.ac:123: the top level configure.ac:129: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:129: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:135: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:135: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/pcre2.m4:4: PROG_PCRE2 is expanded from... configure.ac:135: the top level configure.ac:140: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:140: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:140: the top level configure.ac:231: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:231: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:231: the top level configure.ac:249: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:249: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:249: the top level configure.ac:262: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:262: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:262: the top level configure.ac:275: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:275: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:275: the top level configure.ac:288: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:288: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:288: the top level configure.ac:307: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete ./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from... ./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from... configure.ac:307: the top level user@debian:~/ModSecurity$
06-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值