QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 982|回复: 0

io_read_word unknown addr错误

[复制链接]
发表于 2005-2-24 20:04:07 | 显示全部楼层 |阅读模式
最近开发了一个 支持https协议的web服务器,在linux下面编译执行都没有问题,但是移植到 uclinux下面遇到一个问题,很长时间都不能解决。哪位高手能帮帮我啊。 问题如下:

因为我需要在 程序中使用open ssl库,因此我首先需要编译 openssl库,这个工作已经成功,编译方法方法如下:
    将openssl库减压到 lib/libssl,修改它的Makefile,
   
    -CC= cc
    +CC= arm-elf-gcc
    -AR=ar $(ARFLAGS) r
    -RANLIB= /usr/bin/ranlib
    +AR=arm-elf-ar $(ARFLAGS) r
    +RANLIB= arm-elf-ranlib
     -DIRS=   crypto ssl $(SHLIB_MARK) apps test tools
     +DIRS=   crypto ssl $(SHLIB_MARK)
     +
     +romfs:
     +

这样 openssl库编译成功,我的应用程序在linux下面编译运行都是正常的,移植到uclinux
的时候编译是对的,但是运行的时候不对。于是我写了测试文件,这个文件这有如下内容
#include <openssl/ssl.h>
#include <openssl/err.h>
int main()
{
char * certfile;
char* cipher = (char*) 0;
SSL_CTX* ssl_ctx;
static SSL* ssl;

printf("SSL_load_error_strings();\n");
SSL_load_error_strings();
printf("SSLeay_add_ssl_algorithms();\n");
SSLeay_add_ssl_algorithms();
printf(" SSL_CTX_new\n");
ssl_ctx = SSL_CTX_new( SSLv23_server_method() );

}

makefile如下

#CFLAGS += -DUSE_SSL $(INCSSL)
CFLAGS +=  $(INCSSL)
EXTRALIBS += $(LIBSSL) $(LIBCRYPTO) #-lRSAglue
EXTRALIBS += -L$(ROOTDIR)/lib/$(LIBCDIR)/lib $(LIBCRYPT)
test: test.o
${CC} $(CFLAGS) ${LDFLAGS} -o $@ test.o  ${EXTRALIBS} ${LDLIBS}
romfs:
$(ROMFSINST) /home/pandowdy.pem
$(ROMFSINST) /home/test

然后启动skyeye,到home目录 ./test 出现错误信息,
NumInstr 37072106, io_read_word unknown addr(0xfffffffc) = 0xffffffff
R 6,1,0,fffffffc,fffffffe,4,9f0000,11d4000,0,f0000,11d5fb8,11d5e74,11d5e08,11d5e5c,1015730,10108c8,C 60000093,S 0,0,80000093,80000093,0,0,0,M 13,B 3,E 0,I 0,P 1000020,T 0,L e5922000,D e59f2158,NumInstr 37480360, io_read_word unknown addr(0xfffffffc) = 0xffffffff
R 6,1,0,fffffffc,fffffffe,4,9f0000,11d4000,0,f0000,11d5e30,11d5cec,11d5c80,11d5cd4,1015730,10108c8,C 60000093,S 0,0,60000093,80000093,0,0,0,M 13,B 3,E 0,I 0,P 1010af4,T 0,L 10e35d0,D eb001777,NumInstr 38128025, io_read_word unknown addr(0xfffffffc) = 0xffffffff
一直是这样的信息往下跳,只到我按ctrl+c,我debug发现是执行到函数 SSLeay_add_ssl_algorithms()的时候出错的。这个错误我感觉是内存方面的错误,io_read_word 等错误信息应该是skyeye里面打印出来的,哪位高手能告诉我问题出在哪里了吗?是skyeye的bug吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 20:46 , Processed in 0.041929 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表