Using arm-linux-gcc 3.4.3 to compile the vnt6656 wifi module, there is a compiler error:
/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.c: In function `private_ioctl':
/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.c:354: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.o] error 1
make[2]: *** [_module_/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver] error 2
Solution:
Alignment of data for struct SBSSIDItem.
FROM:
typedef struct tagSBSSIDItem {
U32 uChannel;
U8 abyBSSID[BSSID_LEN];
U8 abySSID[SSID_MAXLEN + 1];
U16 wBeaconInterval;
U16 wCapInfo;
U8 byNetType;
BOOL bWEPOn;
U32 uRSSI;
} SBSSIDItem;
TO:
typedef struct tagSBSSIDItem {
U32 uChannel;
U16 wBeaconInterval;
U16 wCapInfo;
U8 abyBSSID[BSSID_LEN];
U8 abySSID[SSID_MAXLEN + 1];
U8 byNetType;
BOOL bWEPOn;
U32 uRSSI;
} SBSSIDItem;
/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.c: In function `private_ioctl':
/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.c:354: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver/ioctl.o] error 1
make[2]: *** [_module_/home/work/vt6656/VT6656_Linux_src_v1.19_10_x86/driver] error 2
Solution:
Alignment of data for struct SBSSIDItem.
FROM:
typedef struct tagSBSSIDItem {
U32 uChannel;
U8 abyBSSID[BSSID_LEN];
U8 abySSID[SSID_MAXLEN + 1];
U16 wBeaconInterval;
U16 wCapInfo;
U8 byNetType;
BOOL bWEPOn;
U32 uRSSI;
} SBSSIDItem;
TO:
typedef struct tagSBSSIDItem {
U32 uChannel;
U16 wBeaconInterval;
U16 wCapInfo;
U8 abyBSSID[BSSID_LEN];
U8 abySSID[SSID_MAXLEN + 1];
U8 byNetType;
BOOL bWEPOn;
U32 uRSSI;
} SBSSIDItem;