Chinaunix首页 | 论坛 | 博客
  • 博客访问: 508550
  • 博文数量: 35
  • 博客积分: 3472
  • 博客等级: 中校
  • 技术积分: 935
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-04 06:54
文章分类
文章存档

2014年(4)

2013年(2)

2011年(3)

2010年(9)

2009年(9)

2008年(8)

分类: LINUX

2010-06-07 13:00:16

在生成交叉编译器时,binutils, gcc-1, glibc-headers, gcc-2, glibc都顺利通过了,但是在编译glibc_localedef的时候,出现了如下错误:

argp-help.c:(.text+0x137c): undefined reference to `argp_fmtstream_point'
argp-help.c:(.text+0x139b): undefined reference to `argp_fmtstream_putc'
...

仔细检查配置选项,没有发现什么问题,只好自己分析这个问题,argp-help.c引用了头文件argp/argp-fmtstream.h, 这些函数的宏定义被包含在宏__OPTIMIZE__中。

#ifdef __OPTIMIZE__
/* Inline versions of above routines.  */

#if !_LIBC
#define __argp_fmtstream_putc argp_fmtstream_putc
#define __argp_fmtstream_puts argp_fmtstream_puts
#define __argp_fmtstream_write argp_fmtstream_write
#define __argp_fmtstream_set_lmargin argp_fmtstream_set_lmargin
#define __argp_fmtstream_set_rmargin argp_fmtstream_set_rmargin
#define __argp_fmtstream_set_wmargin argp_fmtstream_set_wmargin
#define __argp_fmtstream_point argp_fmtstream_point
#define __argp_fmtstream_update _argp_fmtstream_update
#define __argp_fmtstream_ensure _argp_fmtstream_ensure
#endif

于是在配置和编译的时候加上CFLAGS="-g -O2",问题就解决了。

那么这个问题是不是一个glibc的bug呢?还不得而知

阅读(2712) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~