I’m trying to compile CVS version of octave and am running into some errors. A snipped version of the errors is below. I’m not sure if it’s a compile error or syntax error.
/tmp/pgCCeaaaalmlaw.s: Assembler messages:
/tmp/pgCCeaaaalmlaw.s:64033: Error: can’t resolve .text' {.text section} -
…Dcfb38’ {.gnu.linkonce.t.read_mat5_integer_data__tm__23_20octave_int__tm__3_Sc__FRQ2_3std52basic_istream__tm__31_cQ2_3std20char_traits__tm__2_cPZ1Zib14mat5_data_type_v section}
/tmp/pgCCeaaaalmlaw.s:64044: Error: can’t resolve .text' {.text section} -
…Dcfb39’ {.gnu.linkonce.t.read_mat5_integer_data__tm__22_19octave_int__tm__2_s__FRQ2_3std52basic_istream__tm__31_cQ2_3std20char_traits__tm__2_cPZ1Zib14mat5_data_type_v section}
- snip to the other function causeing error *
/tmp/pgCCeaaaalmlaw.s:64209: Error: can’t resolve .text' {.text section} -
…Dcfb54’ {.gnu.linkonce.t.write_mat5_integer_data__tm__23_20octave_int__tm__3_Sc__FRQ2_3std52basic_ostream__tm__31_cQ2_3std20char_traits__tm__2_cPCZ1ZiT3_v section}
/tmp/pgCCeaaaalmlaw.s:64220: Error: can’t resolve .text' {.text section} -
…Dcfb55’ {.gnu.linkonce.t.write_mat5_integer_data__tm__22_19octave_int__tm__2_s__FRQ2_3std52basic_ostream__tm__31_cQ2_3std20char_traits__tm__2_cPCZ1ZiT3_v section}
- snip to code *
template
void
read_mat5_integer_data (std::istream& is, T *m, int count, bool swap,
mat5_data_type type)
{
#define READ_INTEGER_DATA(TYPE, swap, data, size, len, stream)
do
{
if (len > 0)
{
volatile TYPE *ptr = X_CAST (volatile TYPE *, data);
stream.read (X_CAST (char *,ptr), size * len);
if (swap)
swap_bytes< size > (ptr, len);
TYPE tmp = ptr[0];
for (int i = len - 1; i > 0; i–)
data = ptr;
data[0] = tmp;
}
}
while (0)
switch (type)
{
case miINT8:
READ_INTEGER_DATA (signed char, swap, m, 1, count, is);
break;
case miUINT8:
READ_INTEGER_DATA (unsigned char, swap, m, 1, count, is);
break;
case miINT16:
READ_INTEGER_DATA (signed TWO_BYTE_INT, swap, m, 2, count, is);
break;
case miUINT16:
READ_INTEGER_DATA (unsigned TWO_BYTE_INT, swap, m, 2, count, is);
break;
case miINT32:
READ_INTEGER_DATA (signed FOUR_BYTE_INT, swap, m, 4, count, is);
break;
case miUINT32:
READ_INTEGER_DATA (unsigned FOUR_BYTE_INT, swap, m, 4, count, is);
break;
case miSINGLE:
case miRESERVE1:
case miDOUBLE:
case miRESERVE2:
case miRESERVE3:
break;
case miINT64:
#ifdef EIGHT_BYTE_INT
READ_INTEGER_DATA (signed EIGHT_BYTE_INT, swap, m, 8, count, is);
#endif
break;
case miUINT64:
#ifdef EIGHT_BYTE_INT
READ_INTEGER_DATA (unsigned EIGHT_BYTE_INT, swap, m, 8, count, is);
#endif
break;
case miMATRIX:
default:
break;
}
#undef READ_INTEGER_DATA
}
template void read_mat5_integer_data (std::istream& is, octave_int8 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_int16 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_int32 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_int64 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_uint8 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_uint16 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_uint32 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, octave_uint64 *m,
int count, bool swap,
mat5_data_type type);
template void read_mat5_integer_data (std::istream& is, int *m,
int count, bool swap,
mat5_data_type type);
The write function is similar.