|
Jerry James |
e1ab74d |
--- ./h/protoize.h.orig 2013-05-11 14:42:29.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./h/protoize.h 2013-05-13 14:46:33.925671152 -0600
|
|
Jerry James |
e1ab74d |
@@ -508,7 +508,7 @@ typedef void (*funcvoid)(void);
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:329:OF */ extern bool file_exists (object file); /* (file) object file; */
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:359:OF */ extern FILE *backup_fopen (char *filename, char *option); /* (filename, option) char *filename; char *option; */
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:359:OF */ extern FILE *fopen_not_dir (char *filename, char *option); /* (filename, option) char *filename; char *option; */
|
|
Jerry James |
e1ab74d |
-/* unixfsys.c:372:OF */ extern int file_len (FILE *fp); /* (fp) FILE *fp; */
|
|
Jerry James |
e1ab74d |
+/* unixfsys.c:372:OF */ extern off_t file_len (FILE *fp); /* (fp) FILE *fp; */
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:382:OF */ extern object truename (object); /* () */
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:382:OF */ extern void Ltruename (void); /* () */
|
|
Jerry James |
e1ab74d |
/* unixfsys.c:418:OF */ extern object fSsetenv (object variable, object value); /* (variable, value) object variable; object value; */
|
|
Jerry James |
e1ab74d |
@@ -731,11 +731,11 @@ edit_double(int, double, int *, char *,
|
|
Jerry James |
e1ab74d |
void
|
|
Jerry James |
e1ab74d |
sethash(object,object,object);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
-int
|
|
Jerry James |
e1ab74d |
+off_t
|
|
Jerry James |
e1ab74d |
file_position(object);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
int
|
|
Jerry James |
e1ab74d |
-file_position_set(object, int);
|
|
Jerry James |
e1ab74d |
+file_position_set(object, off_t);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
void
|
|
Jerry James |
e1ab74d |
princ_str(char *s, object);
|
|
Jerry James |
e1ab74d |
--- ./h/linux.h.orig 2012-01-17 18:29:27.000000000 -0700
|
|
Jerry James |
e1ab74d |
+++ ./h/linux.h 2013-05-13 14:46:33.926671150 -0600
|
|
Jerry James |
e1ab74d |
@@ -12,13 +12,13 @@
|
|
Jerry James |
e1ab74d |
#include <link.h>
|
|
Jerry James |
e1ab74d |
#define SEEK_TO_END_OFILE(fp)\
|
|
Jerry James |
e1ab74d |
do { \
|
|
Jerry James |
e1ab74d |
- long offset = 0, endofelf; int j; \
|
|
Jerry James |
e1ab74d |
+ off_t offset = 0, endofelf; int j; \
|
|
Jerry James |
e1ab74d |
ElfW(Ehdr) eheader; ElfW(Shdr) shdr; \
|
|
Jerry James |
e1ab74d |
- fseek(fp, 0, SEEK_SET); \
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, 0, SEEK_SET); \
|
|
Jerry James |
e1ab74d |
fread(&eheader, sizeof(eheader), 1, fp); \
|
|
Jerry James |
e1ab74d |
/* in case the headers themselves come AFTER the actual sections */ \
|
|
Jerry James |
e1ab74d |
endofelf=offset = eheader.e_shoff+ eheader.e_shentsize *eheader.e_shnum;\
|
|
Jerry James |
e1ab74d |
- fseek(fp, eheader.e_shoff, SEEK_SET); \
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, eheader.e_shoff, SEEK_SET); \
|
|
Jerry James |
e1ab74d |
if ( eheader.e_shentsize != sizeof(ElfW(Shdr)) ) \
|
|
Jerry James |
e1ab74d |
{ FEerror("Bad ELF section header size",0); } \
|
|
Jerry James |
e1ab74d |
for ( j = 0; j < eheader.e_shnum; j++ ) \
|
|
Jerry James |
e1ab74d |
@@ -26,7 +26,7 @@
|
|
Jerry James |
e1ab74d |
if ( (shdr.sh_offset > offset) && (shdr.sh_type != SHT_NOBITS) ) \
|
|
Jerry James |
e1ab74d |
{ offset = shdr.sh_offset; endofelf = offset+shdr.sh_size; } \
|
|
Jerry James |
e1ab74d |
} \
|
|
Jerry James |
e1ab74d |
- if ( fseek(fp, endofelf, SEEK_SET) ) \
|
|
Jerry James |
e1ab74d |
+ if ( fseeko(fp, endofelf, SEEK_SET) ) \
|
|
Jerry James |
e1ab74d |
FEerror("Bad ELF file",0); \
|
|
Jerry James |
e1ab74d |
} while(0)
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
--- ./h/mp.h.orig 2005-01-15 09:27:36.000000000 -0700
|
|
Jerry James |
e1ab74d |
+++ ./h/mp.h 2013-05-13 14:46:33.926671150 -0600
|
|
Jerry James |
e1ab74d |
@@ -35,6 +35,22 @@ typedef struct
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#define SI_TO_MP(x, temp) (mpz_set_si(MP(temp),(x)), MP(temp))
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
+#define C_INT_TO_OBJ(x) ({ \
|
|
Jerry James |
e1ab74d |
+ object temp = big_fixnum1; \
|
|
Jerry James |
e1ab74d |
+ if (x >= MOST_NEG_FIXNUM && x <= MOST_POSITIVE_FIXNUM) \
|
|
Jerry James |
e1ab74d |
+ temp = make_fixnum(x); \
|
|
Jerry James |
e1ab74d |
+ else if (sizeof(x) <= sizeof(long)) \
|
|
Jerry James |
e1ab74d |
+ mpz_set_si(MP(big_fixnum1), x); \
|
|
Jerry James |
e1ab74d |
+ else if (x < 0) { \
|
|
Jerry James |
e1ab74d |
+ __typeof__(x) y = -x; \
|
|
Jerry James |
e1ab74d |
+ mpz_import(MP(big_fixnum2), 1U, 1, sizeof(x), 0, 0U, &y); \
|
|
Jerry James |
e1ab74d |
+ mpz_neg(MP(big_fixnum1), MP(big_fixnum2)); \
|
|
Jerry James |
e1ab74d |
+ } else { \
|
|
Jerry James |
e1ab74d |
+ __typeof__(x) y = x; \
|
|
Jerry James |
e1ab74d |
+ mpz_import(MP(big_fixnum1), 1U, 1, sizeof(x), 0, 0U, &y); \
|
|
Jerry James |
e1ab74d |
+ } \
|
|
Jerry James |
e1ab74d |
+ temp; \
|
|
Jerry James |
e1ab74d |
+})
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#define INTEGER_TO_MP(x, temp ) \
|
|
Jerry James |
e1ab74d |
(type_of(x) == t_bignum ? MP(x) : SI_TO_MP(fix(x), temp))
|
|
Jerry James |
e1ab74d |
@@ -110,6 +126,20 @@ GEN subss();
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#define SI_TO_MP(x,ignore) stoi(x)
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
+#define C_INT_TO_OBJ(x) ({ \
|
|
Jerry James |
e1ab74d |
+ object temp = big_fixnum1; \
|
|
Jerry James |
e1ab74d |
+ if (x >= MOST_NEG_FIXNUM && x <= MOST_POSITIVE_FIXNUM) \
|
|
Jerry James |
e1ab74d |
+ temp = make_fixnum(x); \
|
|
Jerry James |
e1ab74d |
+ else if (sizeof(x) <= sizeof(long)) \
|
|
Jerry James |
e1ab74d |
+ MP(big_fixnum1) = stoi(x); \
|
|
Jerry James |
e1ab74d |
+ else if (x < 0) { \
|
|
Jerry James |
e1ab74d |
+ __typeof__(x) y = -x; \
|
|
Jerry James |
e1ab74d |
+ MP(big_fixnum1) = uutoineg((y) >> (sizeof(ulong) * 8), (y) & (ulong)-1); \
|
|
Jerry James |
e1ab74d |
+ } else \
|
|
Jerry James |
e1ab74d |
+ MP(big_fixnum1) = uutoi((x) >> (sizeof(ulong) * 8), (x) & (ulong)-1); \
|
|
Jerry James |
e1ab74d |
+ temp; \
|
|
Jerry James |
e1ab74d |
+})
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
#define INT_FLAG 0x1010000
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#define MP_ALLOCATED(x) (x)->big.big_length
|
|
Jerry James |
e1ab74d |
--- ./o/unixfasl.c.orig 2004-05-03 15:35:58.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/unixfasl.c 2013-05-13 14:46:33.927671148 -0600
|
|
Jerry James |
e1ab74d |
@@ -90,8 +90,8 @@ object faslfile;
|
|
Jerry James |
e1ab74d |
#ifdef ATT
|
|
Jerry James |
e1ab74d |
struct filehdr fileheader;
|
|
Jerry James |
e1ab74d |
struct scnhdr sectionheader;
|
|
Jerry James |
e1ab74d |
- int textsize, datasize, bsssize;
|
|
Jerry James |
e1ab74d |
- int textstart;
|
|
Jerry James |
e1ab74d |
+ off_t textsize, datasize, bsssize;
|
|
Jerry James |
e1ab74d |
+ off_t textstart;
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#ifdef E15
|
|
Jerry James |
e1ab74d |
@@ -129,7 +129,7 @@ object faslfile;
|
|
Jerry James |
e1ab74d |
#ifdef ATT
|
|
Jerry James |
e1ab74d |
fread(&fileheader, sizeof(fileheader), 1, fp);
|
|
Jerry James |
e1ab74d |
#ifdef S3000
|
|
Jerry James |
e1ab74d |
- if(fileheader.f_opthdr != 0) fseek(fp,fileheader.f_opthdr,1);
|
|
Jerry James |
e1ab74d |
+ if(fileheader.f_opthdr != 0) fseeko(fp,fileheader.f_opthdr,1);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
fread(§ionheader, sizeof(sectionheader), 1, fp);
|
|
Jerry James |
e1ab74d |
textsize = sectionheader.s_size;
|
|
Jerry James |
e1ab74d |
@@ -162,27 +162,27 @@ object faslfile;
|
|
Jerry James |
e1ab74d |
SEEK_TO_END_OFILE(fp);
|
|
Jerry James |
e1ab74d |
#else
|
|
Jerry James |
e1ab74d |
#ifdef BSD
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
header.a_text+header.a_data+
|
|
Jerry James |
e1ab74d |
header.a_syms+header.a_trsize+header.a_drsize,
|
|
Jerry James |
e1ab74d |
1);
|
|
Jerry James |
e1ab74d |
fread(&i, sizeof(i), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#ifdef ATT
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
fileheader.f_symptr + SYMESZ*fileheader.f_nsyms,
|
|
Jerry James |
e1ab74d |
0);
|
|
Jerry James |
e1ab74d |
fread(&i, sizeof(i), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
while ((i = getc(fp)) == 0)
|
|
Jerry James |
e1ab74d |
;
|
|
Jerry James |
e1ab74d |
ungetc(i, fp);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#ifdef E15
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
header.a_text+header.a_data+
|
|
Jerry James |
e1ab74d |
header.a_syms+header.a_trsize+header.a_drsize,
|
|
Jerry James |
e1ab74d |
1);
|
|
Jerry James |
e1ab74d |
@@ -255,7 +255,7 @@ AGAIN:
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if (fseek(fp, textstart, 0) < 0)
|
|
Jerry James |
e1ab74d |
+ if (fseeko(fp, textstart, 0) < 0)
|
|
Jerry James |
e1ab74d |
error("file seek error");
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
fread(memory->cfd.cfd_start, textsize + datasize, 1, fp);
|
|
Jerry James |
e1ab74d |
@@ -334,12 +334,12 @@ SEEK_TO_END_OFILE(faslfile->sm.sm_fp);
|
|
Jerry James |
e1ab74d |
#else
|
|
Jerry James |
e1ab74d |
fp = faslfile->sm.sm_fp;
|
|
Jerry James |
e1ab74d |
fread(&faslheader, sizeof(faslheader), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
faslheader.a_text+faslheader.a_data+
|
|
Jerry James |
e1ab74d |
faslheader.a_syms+faslheader.a_trsize+faslheader.a_drsize,
|
|
Jerry James |
e1ab74d |
1);
|
|
Jerry James |
e1ab74d |
fread(&i, sizeof(i), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
data = read_fasl_vector(faslfile);
|
|
Jerry James |
e1ab74d |
vs_push(data);
|
|
Jerry James |
e1ab74d |
@@ -361,7 +361,7 @@ SEEK_TO_END_OFILE(faslfile->sm.sm_fp);
|
|
Jerry James |
e1ab74d |
vs_push(tempfile);
|
|
Jerry James |
e1ab74d |
fp = tempfile->sm.sm_fp;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if (fseek(fp, textstart, 0) < 0)
|
|
Jerry James |
e1ab74d |
+ if (fseeko(fp, textstart, 0) < 0)
|
|
Jerry James |
e1ab74d |
error("file seek error");
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
fread(memory->cfd.cfd_start, textsize + datasize, 1, fp);
|
|
Jerry James |
e1ab74d |
--- ./o/sfasl.c.orig 2010-08-04 15:44:27.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/sfasl.c 2013-05-13 14:46:33.927671148 -0600
|
|
Jerry James |
e1ab74d |
@@ -133,7 +133,7 @@ void set_symbol_address ( struct syment
|
|
Jerry James |
e1ab74d |
int
|
|
Jerry James |
e1ab74d |
fasload(faslfile)
|
|
Jerry James |
e1ab74d |
object faslfile;
|
|
Jerry James |
e1ab74d |
-{ long fasl_vector_start;
|
|
Jerry James |
e1ab74d |
+{ off_t fasl_vector_start;
|
|
Jerry James |
e1ab74d |
struct filehdr fileheader;
|
|
Jerry James |
e1ab74d |
struct sfasl_info sfasl_info_buf;
|
|
Jerry James |
e1ab74d |
#ifdef COFF
|
|
Jerry James |
e1ab74d |
@@ -195,7 +195,7 @@ object faslfile;
|
|
Jerry James |
e1ab74d |
symbol_table =
|
|
Jerry James |
e1ab74d |
(struct syment *) OUR_ALLOCA(sizeof(struct syment)*
|
|
Jerry James |
e1ab74d |
(unsigned int)nsyms);
|
|
Jerry James |
e1ab74d |
- fseek(fp,(int)( N_SYMOFF(fileheader)), 0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,(off_t)( N_SYMOFF(fileheader)), 0);
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
for (i = 0; i < nsyms; i++)
|
|
Jerry James |
e1ab74d |
{ fread((char *)&symbol_table[i], SYMESZ, 1, fp);
|
|
Jerry James |
e1ab74d |
@@ -206,7 +206,7 @@ object faslfile;
|
|
Jerry James |
e1ab74d |
symbol_table[i].n_un.n_strx = string_size;
|
|
Jerry James |
e1ab74d |
dprintf(string_size %d, string_size);
|
|
Jerry James |
e1ab74d |
string_size += symbol_table[i].n_length + 1;
|
|
Jerry James |
e1ab74d |
- fseek(fp,(int)symbol_table[i].n_length,1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,(off_t)symbol_table[i].n_length,1);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
@@ -223,13 +223,13 @@ my_string_table=READ_IN_STRING_TABLE(fp,
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#else
|
|
Jerry James |
e1ab74d |
#ifdef MUST_SEEK_TO_STROFF
|
|
Jerry James |
e1ab74d |
- fseek(fp,N_STROFF(fileheader),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,N_STROFF(fileheader),0);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
{int ii=0;
|
|
Jerry James |
e1ab74d |
if (!fread((char *)&ii,sizeof(int),1,fp))
|
|
Jerry James |
e1ab74d |
{FEerror("The string table of this file did not have any length",0,
|
|
Jerry James |
e1ab74d |
0);}
|
|
Jerry James |
e1ab74d |
- fseek(fp,-4,1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,-4,1);
|
|
Jerry James |
e1ab74d |
/* at present the string table is located just after the symbols */
|
|
Jerry James |
e1ab74d |
my_string_table=OUR_ALLOCA((unsigned int)ii);
|
|
Jerry James |
e1ab74d |
dprintf( string table leng = %d, ii);
|
|
Jerry James |
e1ab74d |
@@ -246,7 +246,7 @@ SEEK_TO_END_OFILE(fp);
|
|
Jerry James |
e1ab74d |
ungetc(i, fp);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- fasl_vector_start=ftell(fp);
|
|
Jerry James |
e1ab74d |
+ fasl_vector_start=ftello(fp);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
if (!((c_table.ptable) && *(c_table.ptable)))
|
|
Jerry James |
e1ab74d |
build_symbol_table();
|
|
Jerry James |
e1ab74d |
@@ -278,7 +278,7 @@ SEEK_TO_END_OFILE(fp);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
dprintf( code size %d , datasize+textsize+bsssize + extra_bss);
|
|
Jerry James |
e1ab74d |
- if (fseek(fp,N_TXTOFF(fileheader) ,0) < 0)
|
|
Jerry James |
e1ab74d |
+ if (fseeko(fp,N_TXTOFF(fileheader) ,0) < 0)
|
|
Jerry James |
e1ab74d |
FEerror("file seek error",0,0);
|
|
Jerry James |
e1ab74d |
SAFE_FREAD(the_start, textsize + datasize, 1, fp);
|
|
Jerry James |
e1ab74d |
dprintf(read into memory text +data %d bytes, textsize + datasize);
|
|
Jerry James |
e1ab74d |
@@ -292,7 +292,7 @@ SEEK_TO_END_OFILE(fp);
|
|
Jerry James |
e1ab74d |
{int j=0;
|
|
Jerry James |
e1ab74d |
for(j=1; j< BSS_NSCN ; j++)
|
|
Jerry James |
e1ab74d |
{ dprintf( relocating section %d \n,j);
|
|
Jerry James |
e1ab74d |
- if (section[j].s_nreloc) fseek(fp,section[j].s_relptr,0);
|
|
Jerry James |
e1ab74d |
+ if (section[j].s_nreloc) fseeko(fp,section[j].s_relptr,0);
|
|
Jerry James |
e1ab74d |
for(i=0; i < section[j].s_nreloc; i++)
|
|
Jerry James |
e1ab74d |
{ struct syment *sym;
|
|
Jerry James |
e1ab74d |
fread(&relocation_info, RELSZ, 1, fp);
|
|
Jerry James |
e1ab74d |
@@ -311,7 +311,7 @@ SEEK_TO_END_OFILE(fp);
|
|
Jerry James |
e1ab74d |
{int j=0;
|
|
Jerry James |
e1ab74d |
for(j=1; j< BSS_NSCN ; j++)
|
|
Jerry James |
e1ab74d |
{ dprintf( relocating section %d \n,j);
|
|
Jerry James |
e1ab74d |
- if (section[j].s_nreloc) fseek(fp,section[j].s_relptr,0);
|
|
Jerry James |
e1ab74d |
+ if (section[j].s_nreloc) fseeko(fp,section[j].s_relptr,0);
|
|
Jerry James |
e1ab74d |
#ifdef ADJUST_RELOC_START
|
|
Jerry James |
e1ab74d |
ADJUST_RELOC_START(j)
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
@@ -323,7 +323,7 @@ ADJUST_RELOC_START(j)
|
|
Jerry James |
e1ab74d |
}};
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
#ifdef BSD
|
|
Jerry James |
e1ab74d |
- fseek(fp,N_RELOFF(fileheader),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,N_RELOFF(fileheader),0);
|
|
Jerry James |
e1ab74d |
{int nrel = (fileheader.a_trsize/sizeof(struct reloc));
|
|
Jerry James |
e1ab74d |
for (i=0; i < nrel; i++)
|
|
Jerry James |
e1ab74d |
{fread((char *)&relocation_info, sizeof(struct reloc),
|
|
Jerry James |
e1ab74d |
@@ -333,7 +333,7 @@ ADJUST_RELOC_START(j)
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
#ifdef N_DRELOFF
|
|
Jerry James |
e1ab74d |
- fseek (fp, N_DRELOFF(fileheader), 0);
|
|
Jerry James |
e1ab74d |
+ fseeko (fp, N_DRELOFF(fileheader), 0);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
{int nrel = (fileheader.a_drsize/sizeof(struct reloc));
|
|
Jerry James |
e1ab74d |
the_start += fileheader.a_text;
|
|
Jerry James |
e1ab74d |
@@ -354,7 +354,7 @@ ADJUST_RELOC_START(j)
|
|
Jerry James |
e1ab74d |
dprintf( datasize is %x,datasize);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* read in the fasl vector */
|
|
Jerry James |
e1ab74d |
- fseek(fp,fasl_vector_start,0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,fasl_vector_start,0);
|
|
Jerry James |
e1ab74d |
if (feof(fp))
|
|
Jerry James |
e1ab74d |
{data=0;}
|
|
Jerry James |
e1ab74d |
else{
|
|
Jerry James |
e1ab74d |
--- ./o/file.d.orig 2013-05-11 14:29:11.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/file.d 2013-05-13 14:46:33.928671146 -0600
|
|
Jerry James |
e1ab74d |
@@ -410,7 +410,7 @@ object if_exists, if_does_not_exist;
|
|
Jerry James |
e1ab74d |
FEerror("Cannot write pipe output to temporary file",0);
|
|
Jerry James |
e1ab74d |
if (pclose(pp)<0)
|
|
Jerry James |
e1ab74d |
FEerror("Cannot close zcat pipe",0);
|
|
Jerry James |
e1ab74d |
- if (fseek(fp,0,SEEK_SET))
|
|
Jerry James |
e1ab74d |
+ if (fseeko(fp,0,SEEK_SET))
|
|
Jerry James |
e1ab74d |
FEerror("Cannot rewind temporary file\n",0);
|
|
Jerry James |
e1ab74d |
goto AGAIN;
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
@@ -1321,7 +1321,7 @@ BEGIN:
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
-int
|
|
Jerry James |
e1ab74d |
+off_t
|
|
Jerry James |
e1ab74d |
file_position(strm)
|
|
Jerry James |
e1ab74d |
object strm;
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
@@ -1333,7 +1333,7 @@ BEGIN:
|
|
Jerry James |
e1ab74d |
/* return(strm->sm.sm_int0); */
|
|
Jerry James |
e1ab74d |
if (strm->sm.sm_fp == NULL)
|
|
Jerry James |
e1ab74d |
closed_stream(strm);
|
|
Jerry James |
e1ab74d |
- return(ftell(strm->sm.sm_fp));
|
|
Jerry James |
e1ab74d |
+ return(ftello(strm->sm.sm_fp));
|
|
Jerry James |
e1ab74d |
case smm_socket:
|
|
Jerry James |
e1ab74d |
return -1;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
@@ -1364,7 +1364,7 @@ BEGIN:
|
|
Jerry James |
e1ab74d |
int
|
|
Jerry James |
e1ab74d |
file_position_set(strm, disp)
|
|
Jerry James |
e1ab74d |
object strm;
|
|
Jerry James |
e1ab74d |
-int disp;
|
|
Jerry James |
e1ab74d |
+off_t disp;
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
BEGIN:
|
|
Jerry James |
e1ab74d |
switch (strm->sm.sm_mode) {
|
|
Jerry James |
e1ab74d |
@@ -1374,7 +1374,7 @@ BEGIN:
|
|
Jerry James |
e1ab74d |
case smm_output:
|
|
Jerry James |
e1ab74d |
case smm_io:
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if (fseek(strm->sm.sm_fp, disp, 0) < 0)
|
|
Jerry James |
e1ab74d |
+ if (fseeko(strm->sm.sm_fp, disp, 0) < 0)
|
|
Jerry James |
e1ab74d |
return(-1);
|
|
Jerry James |
e1ab74d |
/* strm->sm.sm_int0 = disp; */
|
|
Jerry James |
e1ab74d |
return(0);
|
|
Jerry James |
e1ab74d |
@@ -1410,7 +1410,7 @@ BEGIN:
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
-static int
|
|
Jerry James |
e1ab74d |
+static off_t
|
|
Jerry James |
e1ab74d |
file_length(strm)
|
|
Jerry James |
e1ab74d |
object strm;
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
@@ -1773,14 +1773,14 @@ LFD(Lstream_element_type)()
|
|
Jerry James |
e1ab74d |
@)
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
@(defun file_position (file_stream &o position)
|
|
Jerry James |
e1ab74d |
- int i=0;
|
|
Jerry James |
e1ab74d |
+ off_t i=0;
|
|
Jerry James |
e1ab74d |
@
|
|
Jerry James |
e1ab74d |
check_type_stream(&file_stream);
|
|
Jerry James |
e1ab74d |
if (position == Cnil) {
|
|
Jerry James |
e1ab74d |
i = file_position(file_stream);
|
|
Jerry James |
e1ab74d |
if (i < 0)
|
|
Jerry James |
e1ab74d |
@(return Cnil)
|
|
Jerry James |
e1ab74d |
- @(return `make_fixnum(i)`)
|
|
Jerry James |
e1ab74d |
+ @(return `C_INT_TO_OBJ(i)`)
|
|
Jerry James |
e1ab74d |
} else {
|
|
Jerry James |
e1ab74d |
if (position == sKstart)
|
|
Jerry James |
e1ab74d |
i = 0;
|
|
Jerry James |
e1ab74d |
@@ -1807,7 +1807,7 @@ LFD(Lfile_length)()
|
|
Jerry James |
e1ab74d |
if (i < 0)
|
|
Jerry James |
e1ab74d |
vs_base[0] = Cnil;
|
|
Jerry James |
e1ab74d |
else
|
|
Jerry James |
e1ab74d |
- vs_base[0] = make_fixnum(i);
|
|
Jerry James |
e1ab74d |
+ vs_base[0] = C_INT_TO_OBJ(i);
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
object sSAload_pathnameA;
|
|
Jerry James |
e1ab74d |
@@ -2706,22 +2706,22 @@ read_fasl_data(const char *str) {
|
|
Jerry James |
e1ab74d |
#ifdef BSD
|
|
Jerry James |
e1ab74d |
fp = faslfile->sm.sm_fp;
|
|
Jerry James |
e1ab74d |
fread(&header, sizeof(header), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
header.a_text+header.a_data+
|
|
Jerry James |
e1ab74d |
header.a_syms+header.a_trsize+header.a_drsize,
|
|
Jerry James |
e1ab74d |
1);
|
|
Jerry James |
e1ab74d |
fread(&i, sizeof(i), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
#ifdef HAVE_FILEHDR
|
|
Jerry James |
e1ab74d |
fp = faslfile->sm.sm_fp;
|
|
Jerry James |
e1ab74d |
fread(&fileheader, sizeof(fileheader), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
fileheader.f_symptr+fileheader.f_nsyms*SYMESZ,
|
|
Jerry James |
e1ab74d |
0);
|
|
Jerry James |
e1ab74d |
fread(&i, sizeof(i), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, i - sizeof(i), 1);
|
|
Jerry James |
e1ab74d |
while ((i = getc(fp)) == 0)
|
|
Jerry James |
e1ab74d |
;
|
|
Jerry James |
e1ab74d |
ungetc(i, fp);
|
|
Jerry James |
e1ab74d |
@@ -2730,7 +2730,7 @@ read_fasl_data(const char *str) {
|
|
Jerry James |
e1ab74d |
#ifdef E15
|
|
Jerry James |
e1ab74d |
fp = faslfile->sm.sm_fp;
|
|
Jerry James |
e1ab74d |
fread(&header, sizeof(header), 1, fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp,
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,
|
|
Jerry James |
e1ab74d |
header.a_text+header.a_data+
|
|
Jerry James |
e1ab74d |
header.a_syms+header.a_trsize+header.a_drsize,
|
|
Jerry James |
e1ab74d |
1);
|
|
Jerry James |
e1ab74d |
--- ./o/unexelf.c.orig 2004-05-03 15:35:58.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/unexelf.c 2013-05-13 14:46:33.928671146 -0600
|
|
Jerry James |
e1ab74d |
@@ -634,7 +634,8 @@ find_section (char *name, char *section_
|
|
Jerry James |
e1ab74d |
static void
|
|
Jerry James |
e1ab74d |
unexec (char *new_name, char *old_name, unsigned int data_start, unsigned int bss_start, unsigned int entry_address)
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
- int new_file, old_file, new_file_size;
|
|
Jerry James |
e1ab74d |
+ int new_file, old_file;
|
|
Jerry James |
e1ab74d |
+ off_t new_file_size;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* Pointers to the base of the image of the two files. */
|
|
Jerry James |
e1ab74d |
caddr_t old_base, new_base;
|
|
Jerry James |
e1ab74d |
@@ -664,7 +665,7 @@ unexec (char *new_name, char *old_name,
|
|
Jerry James |
e1ab74d |
int old_data_index, new_data2_index;
|
|
Jerry James |
e1ab74d |
int old_mdebug_index;
|
|
Jerry James |
e1ab74d |
struct stat stat_buf;
|
|
Jerry James |
e1ab74d |
- int old_file_size;
|
|
Jerry James |
e1ab74d |
+ size_t old_file_size;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* Open the old file, allocate a buffer of the right size, and read
|
|
Jerry James |
e1ab74d |
in the file contents. */
|
|
Jerry James |
e1ab74d |
@@ -687,13 +688,13 @@ unexec (char *new_name, char *old_name,
|
|
Jerry James |
e1ab74d |
we'd dump our temporary buffers with Emacs, and we'd have to be
|
|
Jerry James |
e1ab74d |
extra careful to use the correct value of sbrk(0) after
|
|
Jerry James |
e1ab74d |
allocating all buffers in the code below, which we aren't. */
|
|
Jerry James |
e1ab74d |
- old_file_size = stat_buf.st_size;
|
|
Jerry James |
e1ab74d |
+ old_file_size = (size_t) stat_buf.st_size;
|
|
Jerry James |
e1ab74d |
old_base = mmap (NULL, old_file_size, PROT_READ | PROT_WRITE,
|
|
Jerry James |
e1ab74d |
MAP_ANON | MAP_PRIVATE, mmap_fd, 0);
|
|
Jerry James |
e1ab74d |
if (old_base == MAP_FAILED)
|
|
Jerry James |
e1ab74d |
fatal ("Can't allocate buffer for %s\n", old_name);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if (read (old_file, old_base, stat_buf.st_size) != stat_buf.st_size)
|
|
Jerry James |
e1ab74d |
+ if (read (old_file, old_base, old_file_size) != stat_buf.st_size)
|
|
Jerry James |
e1ab74d |
fatal ("Didn't read all of %s: errno %d\n", old_name, errno);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* Get pointers to headers & section names */
|
|
Jerry James |
e1ab74d |
@@ -778,7 +779,7 @@ unexec (char *new_name, char *old_name,
|
|
Jerry James |
e1ab74d |
if (ftruncate (new_file, new_file_size))
|
|
Jerry James |
e1ab74d |
fatal ("Can't ftruncate (%s): errno %d\n", new_name, errno);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- new_base = mmap (NULL, new_file_size, PROT_READ | PROT_WRITE,
|
|
Jerry James |
e1ab74d |
+ new_base = mmap (NULL, (size_t) new_file_size, PROT_READ | PROT_WRITE,
|
|
Jerry James |
e1ab74d |
MAP_ANON | MAP_PRIVATE, mmap_fd, 0);
|
|
Jerry James |
e1ab74d |
if (new_base == MAP_FAILED)
|
|
Jerry James |
e1ab74d |
fatal ("Can't allocate buffer for %s\n", old_name);
|
|
Jerry James |
e1ab74d |
@@ -1208,12 +1209,12 @@ unexec (char *new_name, char *old_name,
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* Write out new_file, and free the buffers. */
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if (write (new_file, new_base, new_file_size) != new_file_size)
|
|
Jerry James |
e1ab74d |
- fatal ("Didn't write %d bytes to %s: errno %d\n",
|
|
Jerry James |
e1ab74d |
- new_file_size, new_base, errno);
|
|
Jerry James |
e1ab74d |
+ if (write (new_file, new_base, (size_t) new_file_size) != new_file_size)
|
|
Jerry James |
e1ab74d |
+ fatal ("Didn't write %zu bytes to %s: errno %d\n",
|
|
Jerry James |
e1ab74d |
+ (size_t) new_file_size, new_base, errno);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
munmap (old_base, old_file_size);
|
|
Jerry James |
e1ab74d |
- munmap (new_base, new_file_size);
|
|
Jerry James |
e1ab74d |
+ munmap (new_base, (size_t) new_file_size);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
/* Close the files and make the new file executable. */
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
--- ./o/fasdump.c.orig 2005-10-05 12:51:55.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/fasdump.c 2013-05-13 14:46:33.929671144 -0600
|
|
Jerry James |
e1ab74d |
@@ -605,7 +605,7 @@ FFN(open_fasd)(object stream, object dir
|
|
Jerry James |
e1ab74d |
fd->eof=eof;
|
|
Jerry James |
e1ab74d |
fd->index=small_fixnum(0);
|
|
Jerry James |
e1ab74d |
fd->package=symbol_value(sLApackageA);
|
|
Jerry James |
e1ab74d |
- fd->filepos = make_fixnum(file_position(stream));
|
|
Jerry James |
e1ab74d |
+ fd->filepos = C_INT_TO_OBJ(file_position(stream));
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
SETUP_FASD_IN(fd);
|
|
Jerry James |
e1ab74d |
if (direction==sKoutput){
|
|
Jerry James |
e1ab74d |
@@ -645,7 +645,7 @@ FFN(close_fasd)(object ar)
|
|
Jerry James |
e1ab74d |
{clrhash(fd->table);
|
|
Jerry James |
e1ab74d |
SETUP_FASD_IN(fd);
|
|
Jerry James |
e1ab74d |
PUT_OP(d_end_of_file);
|
|
Jerry James |
e1ab74d |
- {int i = file_position(fd->stream);
|
|
Jerry James |
e1ab74d |
+ {off_t i = file_position(fd->stream);
|
|
Jerry James |
e1ab74d |
if(type_of(fd->filepos) == t_fixnum)
|
|
Jerry James |
e1ab74d |
{ file_position_set(fd->stream,fix(fd->filepos) +2);
|
|
Jerry James |
e1ab74d |
/* record the length of array needed to read the indices */
|
|
Jerry James |
e1ab74d |
--- ./o/unixsave.c.orig 2005-05-06 15:56:56.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/unixsave.c 2013-05-13 14:46:33.929671144 -0600
|
|
Jerry James |
e1ab74d |
@@ -93,7 +93,7 @@ memory_save(original_file, save_file)
|
|
Jerry James |
e1ab74d |
char *original_file, *save_file;
|
|
Jerry James |
e1ab74d |
{ MEM_SAVE_LOCALS;
|
|
Jerry James |
e1ab74d |
char *data_begin, *data_end;
|
|
Jerry James |
e1ab74d |
- int original_data;
|
|
Jerry James |
e1ab74d |
+ off_t original_data = 0;
|
|
Jerry James |
e1ab74d |
FILE *original, *save;
|
|
Jerry James |
e1ab74d |
register int n;
|
|
Jerry James |
e1ab74d |
register char *p;
|
|
Jerry James |
e1ab74d |
@@ -130,7 +130,7 @@ char *original_file, *save_file;
|
|
Jerry James |
e1ab74d |
} else
|
|
Jerry James |
e1ab74d |
break;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- fseek(original, original_data, 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(original, original_data, 1);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
COPY_TO_SAVE;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
--- ./o/unixfsys.c.orig 2013-05-13 14:42:55.958085843 -0600
|
|
Jerry James |
e1ab74d |
+++ ./o/unixfsys.c 2013-05-13 14:46:33.929671144 -0600
|
|
Jerry James |
e1ab74d |
@@ -414,7 +414,7 @@ backup_fopen(char *filename, char *optio
|
|
Jerry James |
e1ab74d |
return(fopen(filename, option));
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
-int
|
|
Jerry James |
e1ab74d |
+off_t
|
|
Jerry James |
e1ab74d |
file_len(FILE *fp)
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
struct stat filestatus;
|
|
Jerry James |
e1ab74d |
@@ -486,7 +486,7 @@ DEFUN_NEW("STAT",object,fSstat,SI,1,1,NO
|
|
Jerry James |
e1ab74d |
filename[j-1]=0;*/
|
|
Jerry James |
e1ab74d |
RETURN1(list(3,S_ISDIR(ss.st_mode) ? sKdirectory :
|
|
Jerry James |
e1ab74d |
(S_ISLNK(ss.st_mode) ? sKlink : sKfile),
|
|
Jerry James |
e1ab74d |
- make_fixnum(ss.st_size),make_fixnum(ss.st_ctime)));
|
|
Jerry James |
e1ab74d |
+ C_INT_TO_OBJ(ss.st_size),make_fixnum(ss.st_ctime)));
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
--- ./unixport/bsd_rsym.c.orig 1999-12-06 15:44:15.000000000 -0700
|
|
Jerry James |
e1ab74d |
+++ ./unixport/bsd_rsym.c 2013-05-13 14:46:33.930671142 -0600
|
|
Jerry James |
e1ab74d |
@@ -121,7 +121,7 @@ tab.n_symbols=0;tab.tot_leng=0;
|
|
Jerry James |
e1ab74d |
symout=fopen(outfile,"w");
|
|
Jerry James |
e1ab74d |
if (!symout)
|
|
Jerry James |
e1ab74d |
{perror(outfile); exit(1);};
|
|
Jerry James |
e1ab74d |
- fseek(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
end = my_symbol_table + NSYMS(my_header);
|
|
Jerry James |
e1ab74d |
for (p = my_symbol_table; p < end; p++) {
|
|
Jerry James |
e1ab74d |
/*
|
|
Jerry James |
e1ab74d |
@@ -146,7 +146,7 @@ tab.n_symbols=0;tab.tot_leng=0;
|
|
Jerry James |
e1ab74d |
dprintf( index , (int) (p - my_symbol_table) / sizeof(struct syment));
|
|
Jerry James |
e1ab74d |
p = p + NUM_AUX(p); }
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
- fseek(symout,0,0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,0,0);
|
|
Jerry James |
e1ab74d |
fwrite(&tab,sizeof(tab),1,symout);
|
|
Jerry James |
e1ab74d |
fclose(symout);
|
|
Jerry James |
e1ab74d |
return 0;
|
|
Jerry James |
e1ab74d |
--- ./unixport/rsym.c.orig 2002-07-25 15:49:47.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./unixport/rsym.c 2013-05-13 14:46:33.930671142 -0600
|
|
Jerry James |
e1ab74d |
@@ -102,7 +102,7 @@ char *filename;
|
|
Jerry James |
e1ab74d |
sizeof(struct syment) and SYMESZ are not always the same.
|
|
Jerry James |
e1ab74d |
*/
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if(fseek(fp,(int)(N_SYMOFF(my_header)),0))
|
|
Jerry James |
e1ab74d |
+ if(fseeko(fp,(off_t)(N_SYMOFF(my_header)),0))
|
|
Jerry James |
e1ab74d |
{fprintf(stderr,"seek error");
|
|
Jerry James |
e1ab74d |
exit(1);}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
@@ -113,7 +113,7 @@ char *filename;
|
|
Jerry James |
e1ab74d |
dprintf(string_size %d,string_size);
|
|
Jerry James |
e1ab74d |
symbol_table[i].n_un.n_strx = string_size;
|
|
Jerry James |
e1ab74d |
string_size += symbol_table[i].n_length + 1;
|
|
Jerry James |
e1ab74d |
- fseek(fp,symbol_table[i].n_length,1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,symbol_table[i].n_length,1);
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
#else
|
|
Jerry James |
e1ab74d |
fread((char *)&symbol_table[i], SYMESZ, 1, fp);
|
|
Jerry James |
e1ab74d |
@@ -127,14 +127,14 @@ char *filename;
|
|
Jerry James |
e1ab74d |
strings follow symbol table! */
|
|
Jerry James |
e1ab74d |
#ifndef HPUX
|
|
Jerry James |
e1ab74d |
#ifdef N_STROFF
|
|
Jerry James |
e1ab74d |
- fseek(fp,N_STROFF(my_header),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,N_STROFF(my_header),0);
|
|
Jerry James |
e1ab74d |
#endif
|
|
Jerry James |
e1ab74d |
if (fread((char *)&string_size, 4, 1, fp) > 0) {
|
|
Jerry James |
e1ab74d |
my_string_table = malloc(string_size);
|
|
Jerry James |
e1ab74d |
if(debug)
|
|
Jerry James |
e1ab74d |
- {printf(" string_size is %d fseek %d ",string_size,fseek(fp,string_size-1,1));
|
|
Jerry James |
e1ab74d |
- printf(" fseek back %d ",fseek(fp,1-string_size,1));};
|
|
Jerry James |
e1ab74d |
- fseek(fp, -4, 1);
|
|
Jerry James |
e1ab74d |
+ {printf(" string_size is %d fseek %zd ",string_size,fseeko(fp,string_size-1,1));
|
|
Jerry James |
e1ab74d |
+ printf(" fseek back %d ",fseeko(fp,1-string_size,1));};
|
|
Jerry James |
e1ab74d |
+ fseeko(fp, -4, 1);
|
|
Jerry James |
e1ab74d |
if(string_size!=(fread(my_string_table, 1, string_size, fp)))
|
|
Jerry James |
e1ab74d |
{dprintf( string_size was %d ,string_size);
|
|
Jerry James |
e1ab74d |
perror("rsym could not read bad string table") ;
|
|
Jerry James |
e1ab74d |
@@ -149,10 +149,10 @@ char *filename;
|
|
Jerry James |
e1ab74d |
int slen;
|
|
Jerry James |
e1ab74d |
p = my_string_table=malloc((unsigned int)string_size);
|
|
Jerry James |
e1ab74d |
dprintf( string table leng = %d, string_size);
|
|
Jerry James |
e1ab74d |
- fseek(fp,(int)( LESYM_OFFSET(my_header)), 0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,(off_t)( LESYM_OFFSET(my_header)), 0);
|
|
Jerry James |
e1ab74d |
for (i = 0; i < nsyms; i++)
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
- fseek(fp,SYMESZ, 1);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,SYMESZ, 1);
|
|
Jerry James |
e1ab74d |
slen = symbol_table[i].n_length;
|
|
Jerry James |
e1ab74d |
dprintf( slen = %d,slen);
|
|
Jerry James |
e1ab74d |
fread(p,slen,1,fp);
|
|
Jerry James |
e1ab74d |
@@ -182,7 +182,7 @@ char *out;
|
|
Jerry James |
e1ab74d |
symout=fopen(out,"wr");
|
|
Jerry James |
e1ab74d |
if (!symout)
|
|
Jerry James |
e1ab74d |
{perror(out); exit(1);};
|
|
Jerry James |
e1ab74d |
- fseek(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
end = symbol_table + nsyms;
|
|
Jerry James |
e1ab74d |
for (p = symbol_table; p < end; p++) {
|
|
Jerry James |
e1ab74d |
/*
|
|
Jerry James |
e1ab74d |
@@ -219,7 +219,7 @@ char *out;
|
|
Jerry James |
e1ab74d |
dprintf( index , (int) (p - symbol_table) / sizeof(struct syment));
|
|
Jerry James |
e1ab74d |
p = p + NUM_AUX(p); }
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
- fseek(symout,0,0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,0,0);
|
|
Jerry James |
e1ab74d |
fwrite(&tab,sizeof(tab),1,symout);
|
|
Jerry James |
e1ab74d |
fclose(symout);
|
|
Jerry James |
e1ab74d |
#ifdef AIX3
|
|
Jerry James |
e1ab74d |
@@ -323,7 +323,7 @@ char *out;
|
|
Jerry James |
e1ab74d |
symin=fopen(out,"w");
|
|
Jerry James |
e1ab74d |
if(symin==0) perror("can't open");
|
|
Jerry James |
e1ab74d |
fwrite(&tab,sizeof(tab),1,symin);
|
|
Jerry James |
e1ab74d |
- fseek(symin,sizeof(tab),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symin,sizeof(tab),0);
|
|
Jerry James |
e1ab74d |
{int i,j;
|
|
Jerry James |
e1ab74d |
unsigned short k;
|
|
Jerry James |
e1ab74d |
for (i=0 ; i < tab.n_symbols ; i++)
|
|
Jerry James |
e1ab74d |
--- ./unixport/rsym_elf.c.orig 2004-05-03 15:35:59.000000000 -0600
|
|
Jerry James |
e1ab74d |
+++ ./unixport/rsym_elf.c 2013-05-13 14:46:33.930671142 -0600
|
|
Jerry James |
e1ab74d |
@@ -147,7 +147,7 @@ get_section(fp,name)
|
|
Jerry James |
e1ab74d |
else
|
|
Jerry James |
e1ab74d |
shndx = get_section_number(name);
|
|
Jerry James |
e1ab74d |
{
|
|
Jerry James |
e1ab74d |
- fseek(fp,SECTION_H(shndx).sh_offset,SEEK_SET);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,SECTION_H(shndx).sh_offset,SEEK_SET);
|
|
Jerry James |
e1ab74d |
ans = malloc(SECTION_H(shndx).sh_size);
|
|
Jerry James |
e1ab74d |
fread(ans,SECTION_H(shndx).sh_size,1,fp);
|
|
Jerry James |
e1ab74d |
return ans;
|
|
Jerry James |
e1ab74d |
@@ -173,7 +173,7 @@ char *filename;
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
fread(&eheader,sizeof(eheader),1,fp);
|
|
Jerry James |
e1ab74d |
- fseek(fp,eheader.e_ehsize,SEEK_SET);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,eheader.e_ehsize,SEEK_SET);
|
|
Jerry James |
e1ab74d |
fread(&pheader,sizeof(pheader),1,fp);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
if(ELFMAG0 != eheader.e_ident[0]){
|
|
Jerry James |
e1ab74d |
@@ -182,7 +182,7 @@ char *filename;
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
section_headers = (void *)malloc(sizeof(ElfW(Shdr))*
|
|
Jerry James |
e1ab74d |
(1+ eheader.e_shnum));
|
|
Jerry James |
e1ab74d |
- fseek(fp,eheader.e_shoff,0);
|
|
Jerry James |
e1ab74d |
+ fseeko(fp,eheader.e_shoff,0);
|
|
Jerry James |
e1ab74d |
for (i=0 ; i< eheader.e_shnum ; i++)
|
|
Jerry James |
e1ab74d |
fread(§ion_headers[i],eheader.e_shentsize,1,fp);
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
@@ -196,7 +196,7 @@ char *filename;
|
|
Jerry James |
e1ab74d |
sizeof(struct syment) and SYMESZ are not always the same.
|
|
Jerry James |
e1ab74d |
*/
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
- if(fseek(fp,(int)SECTION_H(symbol_index).sh_offset,0))
|
|
Jerry James |
e1ab74d |
+ if(fseeko(fp,(off_t)SECTION_H(symbol_index).sh_offset,0))
|
|
Jerry James |
e1ab74d |
{fprintf(stderr,"seek error");
|
|
Jerry James |
e1ab74d |
exit(1);}
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
@@ -242,7 +242,7 @@ char *out;
|
|
Jerry James |
e1ab74d |
symout=fopen(out,"wr");
|
|
Jerry James |
e1ab74d |
if (!symout)
|
|
Jerry James |
e1ab74d |
{perror(out); exit(1);};
|
|
Jerry James |
e1ab74d |
- fseek(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,sizeof(struct lsymbol_table),0);
|
|
Jerry James |
e1ab74d |
end = symbol_table + nsyms;
|
|
Jerry James |
e1ab74d |
for (p = symbol_table; p < end; p++) {
|
|
Jerry James |
e1ab74d |
/*
|
|
Jerry James |
e1ab74d |
@@ -300,7 +300,7 @@ char *out;
|
|
Jerry James |
e1ab74d |
dprintf( index , (int) (p - symbol_table) / sizeof(STRUCT_SYMENT));
|
|
Jerry James |
e1ab74d |
p = p + NUM_AUX(p); }
|
|
Jerry James |
e1ab74d |
}
|
|
Jerry James |
e1ab74d |
- fseek(symout,0,0);
|
|
Jerry James |
e1ab74d |
+ fseeko(symout,0,0);
|
|
Jerry James |
e1ab74d |
fwrite(&tab,sizeof(tab),1,symout);
|
|
Jerry James |
e1ab74d |
fclose(symout);
|
|
Jerry James |
e1ab74d |
#ifdef AIX3
|
|
Jerry James |
e1ab74d |
--- ./configure.in.orig 2013-05-13 14:45:23.256804964 -0600
|
|
Jerry James |
e1ab74d |
+++ ./configure.in 2013-05-13 14:46:51.387638090 -0600
|
|
Jerry James |
e1ab74d |
@@ -425,7 +425,7 @@ AC_USE_SYSTEM_EXTENSIONS
|
|
Jerry James |
e1ab74d |
AC_PROG_CC
|
|
Jerry James |
e1ab74d |
AC_PROG_CPP
|
|
Jerry James |
e1ab74d |
AC_SUBST(CC)
|
|
Jerry James |
e1ab74d |
-
|
|
Jerry James |
e1ab74d |
+AC_SYS_LARGEFILE
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
# can only test for numbers -- CM
|
|
Jerry James |
e1ab74d |
# if test "${GCC}" -eq "yes" ; then
|
|
Jerry James |
e1ab74d |
--- ./configure.orig 2013-05-13 14:45:23.258804961 -0600
|
|
Jerry James |
e1ab74d |
+++ ./configure 2013-05-13 14:46:55.322630640 -0600
|
|
Jerry James |
e1ab74d |
@@ -763,6 +763,7 @@ enable_static
|
|
Jerry James |
e1ab74d |
enable_pic
|
|
Jerry James |
e1ab74d |
enable_oldgmp
|
|
Jerry James |
e1ab74d |
enable_dynsysgmp
|
|
Jerry James |
e1ab74d |
+enable_largefile
|
|
Jerry James |
e1ab74d |
with_x
|
|
Jerry James |
e1ab74d |
enable_readline
|
|
Jerry James |
e1ab74d |
enable_ansi
|
|
Jerry James |
e1ab74d |
@@ -1428,6 +1429,7 @@ Optional Features:
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
--enable-dynsysgmp will link against the system libgmp3 overriding certain functions with patched versions from the local source
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
+ --disable-largefile omit support for large files
|
|
Jerry James |
e1ab74d |
--enable-readline enables command line completion via the readline library
|
|
Jerry James |
e1ab74d |
--enable-ansi builds a large gcl aiming for ansi compliance,
|
|
Jerry James |
e1ab74d |
--disable-ansi builds the smaller traditional CLtL1 image
|
|
Jerry James |
e1ab74d |
@@ -5067,6 +5069,205 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
|
|
Jerry James |
e1ab74d |
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
+# Check whether --enable-largefile was given.
|
|
Jerry James |
e1ab74d |
+if test "${enable_largefile+set}" = set; then :
|
|
Jerry James |
e1ab74d |
+ enableval=$enable_largefile;
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+if test "$enable_largefile" != no; then
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
|
|
Jerry James |
e1ab74d |
+if ${ac_cv_sys_largefile_CC+:} false; then :
|
|
Jerry James |
e1ab74d |
+ $as_echo_n "(cached) " >&6
|
|
Jerry James |
e1ab74d |
+else
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_largefile_CC=no
|
|
Jerry James |
e1ab74d |
+ if test "$GCC" != yes; then
|
|
Jerry James |
e1ab74d |
+ ac_save_CC=$CC
|
|
Jerry James |
e1ab74d |
+ while :; do
|
|
Jerry James |
e1ab74d |
+ # IRIX 6.2 and later do not support large files by default,
|
|
Jerry James |
e1ab74d |
+ # so use the C compiler's -n32 option if that helps.
|
|
Jerry James |
e1ab74d |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+/* end confdefs.h. */
|
|
Jerry James |
e1ab74d |
+#include <sys/types.h>
|
|
Jerry James |
e1ab74d |
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
|
Jerry James |
e1ab74d |
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
Jerry James |
e1ab74d |
+ since some C++ compilers masquerading as C compilers
|
|
Jerry James |
e1ab74d |
+ incorrectly reject 9223372036854775807. */
|
|
Jerry James |
e1ab74d |
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
Jerry James |
e1ab74d |
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
Jerry James |
e1ab74d |
+ && LARGE_OFF_T % 2147483647 == 1)
|
|
Jerry James |
e1ab74d |
+ ? 1 : -1];
|
|
Jerry James |
e1ab74d |
+int
|
|
Jerry James |
e1ab74d |
+main ()
|
|
Jerry James |
e1ab74d |
+{
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ ;
|
|
Jerry James |
e1ab74d |
+ return 0;
|
|
Jerry James |
e1ab74d |
+}
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+ if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext
|
|
Jerry James |
e1ab74d |
+ CC="$CC -n32"
|
|
Jerry James |
e1ab74d |
+ if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_largefile_CC=' -n32'; break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext
|
|
Jerry James |
e1ab74d |
+ break
|
|
Jerry James |
e1ab74d |
+ done
|
|
Jerry James |
e1ab74d |
+ CC=$ac_save_CC
|
|
Jerry James |
e1ab74d |
+ rm -f conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+ fi
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
|
|
Jerry James |
e1ab74d |
+ if test "$ac_cv_sys_largefile_CC" != no; then
|
|
Jerry James |
e1ab74d |
+ CC=$CC$ac_cv_sys_largefile_CC
|
|
Jerry James |
e1ab74d |
+ fi
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
|
|
Jerry James |
e1ab74d |
+if ${ac_cv_sys_file_offset_bits+:} false; then :
|
|
Jerry James |
e1ab74d |
+ $as_echo_n "(cached) " >&6
|
|
Jerry James |
e1ab74d |
+else
|
|
Jerry James |
e1ab74d |
+ while :; do
|
|
Jerry James |
e1ab74d |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+/* end confdefs.h. */
|
|
Jerry James |
e1ab74d |
+#include <sys/types.h>
|
|
Jerry James |
e1ab74d |
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
|
Jerry James |
e1ab74d |
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
Jerry James |
e1ab74d |
+ since some C++ compilers masquerading as C compilers
|
|
Jerry James |
e1ab74d |
+ incorrectly reject 9223372036854775807. */
|
|
Jerry James |
e1ab74d |
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
Jerry James |
e1ab74d |
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
Jerry James |
e1ab74d |
+ && LARGE_OFF_T % 2147483647 == 1)
|
|
Jerry James |
e1ab74d |
+ ? 1 : -1];
|
|
Jerry James |
e1ab74d |
+int
|
|
Jerry James |
e1ab74d |
+main ()
|
|
Jerry James |
e1ab74d |
+{
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ ;
|
|
Jerry James |
e1ab74d |
+ return 0;
|
|
Jerry James |
e1ab74d |
+}
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_file_offset_bits=no; break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+/* end confdefs.h. */
|
|
Jerry James |
e1ab74d |
+#define _FILE_OFFSET_BITS 64
|
|
Jerry James |
e1ab74d |
+#include <sys/types.h>
|
|
Jerry James |
e1ab74d |
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
|
Jerry James |
e1ab74d |
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
Jerry James |
e1ab74d |
+ since some C++ compilers masquerading as C compilers
|
|
Jerry James |
e1ab74d |
+ incorrectly reject 9223372036854775807. */
|
|
Jerry James |
e1ab74d |
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
Jerry James |
e1ab74d |
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
Jerry James |
e1ab74d |
+ && LARGE_OFF_T % 2147483647 == 1)
|
|
Jerry James |
e1ab74d |
+ ? 1 : -1];
|
|
Jerry James |
e1ab74d |
+int
|
|
Jerry James |
e1ab74d |
+main ()
|
|
Jerry James |
e1ab74d |
+{
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ ;
|
|
Jerry James |
e1ab74d |
+ return 0;
|
|
Jerry James |
e1ab74d |
+}
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_file_offset_bits=64; break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_file_offset_bits=unknown
|
|
Jerry James |
e1ab74d |
+ break
|
|
Jerry James |
e1ab74d |
+done
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
|
|
Jerry James |
e1ab74d |
+case $ac_cv_sys_file_offset_bits in #(
|
|
Jerry James |
e1ab74d |
+ no | unknown) ;;
|
|
Jerry James |
e1ab74d |
+ *)
|
|
Jerry James |
e1ab74d |
+cat >>confdefs.h <<_ACEOF
|
|
Jerry James |
e1ab74d |
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+;;
|
|
Jerry James |
e1ab74d |
+esac
|
|
Jerry James |
e1ab74d |
+rm -rf conftest*
|
|
Jerry James |
e1ab74d |
+ if test $ac_cv_sys_file_offset_bits = unknown; then
|
|
Jerry James |
e1ab74d |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
|
|
Jerry James |
e1ab74d |
+if ${ac_cv_sys_large_files+:} false; then :
|
|
Jerry James |
e1ab74d |
+ $as_echo_n "(cached) " >&6
|
|
Jerry James |
e1ab74d |
+else
|
|
Jerry James |
e1ab74d |
+ while :; do
|
|
Jerry James |
e1ab74d |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+/* end confdefs.h. */
|
|
Jerry James |
e1ab74d |
+#include <sys/types.h>
|
|
Jerry James |
e1ab74d |
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
|
Jerry James |
e1ab74d |
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
Jerry James |
e1ab74d |
+ since some C++ compilers masquerading as C compilers
|
|
Jerry James |
e1ab74d |
+ incorrectly reject 9223372036854775807. */
|
|
Jerry James |
e1ab74d |
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
Jerry James |
e1ab74d |
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
Jerry James |
e1ab74d |
+ && LARGE_OFF_T % 2147483647 == 1)
|
|
Jerry James |
e1ab74d |
+ ? 1 : -1];
|
|
Jerry James |
e1ab74d |
+int
|
|
Jerry James |
e1ab74d |
+main ()
|
|
Jerry James |
e1ab74d |
+{
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ ;
|
|
Jerry James |
e1ab74d |
+ return 0;
|
|
Jerry James |
e1ab74d |
+}
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_large_files=no; break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+/* end confdefs.h. */
|
|
Jerry James |
e1ab74d |
+#define _LARGE_FILES 1
|
|
Jerry James |
e1ab74d |
+#include <sys/types.h>
|
|
Jerry James |
e1ab74d |
+ /* Check that off_t can represent 2**63 - 1 correctly.
|
|
Jerry James |
e1ab74d |
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
Jerry James |
e1ab74d |
+ since some C++ compilers masquerading as C compilers
|
|
Jerry James |
e1ab74d |
+ incorrectly reject 9223372036854775807. */
|
|
Jerry James |
e1ab74d |
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
Jerry James |
e1ab74d |
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
Jerry James |
e1ab74d |
+ && LARGE_OFF_T % 2147483647 == 1)
|
|
Jerry James |
e1ab74d |
+ ? 1 : -1];
|
|
Jerry James |
e1ab74d |
+int
|
|
Jerry James |
e1ab74d |
+main ()
|
|
Jerry James |
e1ab74d |
+{
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+ ;
|
|
Jerry James |
e1ab74d |
+ return 0;
|
|
Jerry James |
e1ab74d |
+}
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_large_files=1; break
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
Jerry James |
e1ab74d |
+ ac_cv_sys_large_files=unknown
|
|
Jerry James |
e1ab74d |
+ break
|
|
Jerry James |
e1ab74d |
+done
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
|
|
Jerry James |
e1ab74d |
+$as_echo "$ac_cv_sys_large_files" >&6; }
|
|
Jerry James |
e1ab74d |
+case $ac_cv_sys_large_files in #(
|
|
Jerry James |
e1ab74d |
+ no | unknown) ;;
|
|
Jerry James |
e1ab74d |
+ *)
|
|
Jerry James |
e1ab74d |
+cat >>confdefs.h <<_ACEOF
|
|
Jerry James |
e1ab74d |
+#define _LARGE_FILES $ac_cv_sys_large_files
|
|
Jerry James |
e1ab74d |
+_ACEOF
|
|
Jerry James |
e1ab74d |
+;;
|
|
Jerry James |
e1ab74d |
+esac
|
|
Jerry James |
e1ab74d |
+rm -rf conftest*
|
|
Jerry James |
e1ab74d |
+ fi
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+
|
|
Jerry James |
e1ab74d |
+fi
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
|
|
Jerry James |
e1ab74d |
# can only test for numbers -- CM
|