`
panshaobinSB
  • 浏览: 204011 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Error: invalid identifier for ".ifdef"

 
阅读更多
glibc-2.11编译报错
../sysdeps/i386/fpu/s_frexp.S: Assembler messages:
../sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
../sysdeps/i386/fpu/s_frexp.S:66: Error: unrecognized symbol type ""
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
../sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression

解决方法见:http://www.eglibc.org/archives/patches/msg00073.html
Index: sysdeps/unix/sysv/linux/i386/sysdep.h
===================================================================
--- sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
+++ sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
@@ -29,6 +29,10 @@
#include <dl-sysdep.h>
#include <tls.h>

+#if defined __i686 && defined __ASSEMBLER__
+#undef __i686
+#define __i686 __i686
+#endif


/* For Linux we can use the system call table in the header file
/usr/include/asm/unistd.h
Index: nptl/sysdeps/pthread/pt-initfini.c
===================================================================
--- nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
+++ nptl/sysdeps/pthread/pt-initfini.c (working copy)
@@ -45,6 +45,11 @@
/* Embed an #include to pull in the alignment and .end directives. */
asm ("\n#include \"defs.h\"");

+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
+asm ("\n#undef __i686");
+asm ("\n#define __i686 __i686");
+asm ("\n#endif");

+
/* The initial common code ends here. */
asm ("\n/*@HEADER_ENDS*/");
#Summary
分享到:
评论

相关推荐

    ap6212a0_a33_sc3817r_服务器验证通过_bt已经通了_wifi需要修改配置_需要再次验证_20170626_1549.7z

    # camera config for camera detector #PRODUCT_COPY_FILES += \ # device/softwinner/astar-y3/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini #add gms features #PRODUCT_COPY_FILES +=...

    ap6212a0_a33_sc3817r_神舟验证版本_借用nvram_ap6210这个配置文件_20170626_1834没有外层目录.7z

    # camera config for camera detector #PRODUCT_COPY_FILES += \ # device/softwinner/astar-y3/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini #add gms features #PRODUCT_COPY_FILES +=...

    51单片机keil软件常见错误解决办法

    - **ERROR103: invalid character constant** - **原因**:尝试重新声明一个已经定义的宏。 - **解决方法**:使用`#undef`指令取消原有宏的定义,或者确认宏是否需要被重新定义。 - **ERROR104: identifier ...

    等级考复习资料:C语言出错中英文对照表.doc

    8. **Bad ifdef directive syntax** - `#ifdef`预处理指令的语法错误,可能缺少标识符或语法不完整。 9. **Bad undef directive syntax** - `#undef`预处理指令的语法错误,需要确保正确的标识符被取消定义。 10. ...

    tc错误代码完整集录

    - 解析:复合语句(如if、for、while等)缺失左花括号。 18. **Conflicting type modifiers** - 解析:类型修饰符之间存在冲突,例如同时使用`signed`和`unsigned`。 19. **Constant expression required** - ...

    C++出错提示英汉对照表

    Bad ifdef directive synatax ------------------------------编译预处理ifdef有语法错 Bad undef directive syntax ---------------------------编译预处理undef有语法错 Bit field too large ----------------位...

    C语言常见提示信息(很全面,很经典)

    8. **Bad ifdef directive syntax**:`#ifdef`预处理指令的语法错误,确保正确使用宏定义。 9. **Bit field too large**:位字段的大小超过了数据类型的位数限制。 10. **Call of non-function**:试图调用一个...

    c语言中常见的错误

    - **Bad ifdef directive syntax**: 编译预处理ifdef指令语法错误。 - **Bad undef directive syntax**: 编译预处理undef指令语法错误。 - **Bit field too large**: 位字段太长。 - **Call of non-function**: 调用...

    C语言错误解释和总结

    - **Invalid character in identifier**: 标识符中出现无效字符,可能是因为使用了保留字或特殊字符。 - **Invalid escape sequence in string literal**: 字符串字面量中的转义序列无效,例如错误的转义字符。 - **...

    CCS_C语言出错信息速查

    8. Bad ifdef directive syntax - `#ifdef`预处理指令语法错误,可能是缺少标识符或者格式问题。 9. Bad undef directive syntax - `#undef`预处理指令语法错误,同样可能是格式问题。 10. Bit field too large - ...

    基于ARM的IAR常见错误集

    define directive needs an identifier (define指令需要标识符) 使用`#define`指令时,如果没有提供正确的标识符,编译器会报错。检查`#define`指令中的标识符是否正确。 #### 28. division by zero do statement...

    c++出错提示英汉对照表

    27. **#define directive needs an identifier** - #define指令需要标识符:预处理器定义指令要求后跟一个有效的标识符。检查定义后的名称是否符合C++的标识符规则。 28. **Division by zero** - 除以零:这是数学...

    C++ gcc编译器常见编译错误表

    Defined directive needs an identifier (定义编译预处理需要标识符) - **解释**:`#define`指令后缺少有效的标识符。 - **解决方案**:在`#define`指令后添加正确的标识符。 #### 27. Division by zero (用零作为...

    常见C语言错误提示信息

    #### Defined directive needs an identifier (定义指令需要标识符) **描述**: 预处理指令`#define`后面没有跟有效的标识符。 **解决方法**: 确保`#define`指令后面跟的是有效的标识符。 #### Division by zero ...

    C语言常见错误中文解释

    #### Defined directive needs an identifier (定义指令需要一个标识符) **错误说明**:`#define` 指令中没有提供标识符。 **解决方法**:为 `#define` 指令提供一个有效的标识符。 #### Division by zero (除以...

    C语言常见错误分析汇总

    确保使用了正确的格式:`#ifdef identifier`。 #### 9. 预处理指令#undef语法错误 (Bad undef directive syntax) `#undef` 用于取消定义一个宏定义,如果其后没有紧跟有效的标识符则会报错。正确的格式为:`#undef...

    C语言的错误小集 C语言的错误

    定义指令需要标识符(Define directive needs an identifier) 使用 `#define` 指令时未指定一个有效的标识符作为宏名。 #### 28. 除以零(Division by zero) 尝试将一个数除以零。这是数学上的未定义操作,在...

    Visual C++课程设计案例精编(第二版)--第十章 24点游戏软件的开发

    // Function.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "math.h" #include "express.h" #include &lt;ctype.h&gt; #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_...

    TC2.0

    ### defined directive needs an identifier `#define`指令需要一个标识符。`#define`用于定义宏,后跟宏名和替换文本,确保格式正确。 ### division by zero 除数为零。在数学运算中,除以零是没有定义的,应...

Global site tag (gtag.js) - Google Analytics