I'm trying to compile svgalib (http://www.svgalib.org/) on my FreeBSD/amd64 system.
Although the package uses assembler in a few places, this can be disabled with the -DNO_ASSEMBLY flag. After the pre-processor there is no assembler code in the trouble-some C-file, except for the (unused) definitions of bswap*, which come from system headers (<sys/endian.h>). Both, the system compiler (gcc-3.4.6) and the optional gcc41 give the same error: {standard input}:30: Error: Incorrect register `%rax' used with `l' suffix The line number differs depending on the compiler and the optimization options, but the error is the same, and talks about the same piece of the gcc-generated assembly: [...] #APP outl %rax,%dx ## <-- here #NO_APP leave ret [...] Environment: System: FreeBSD aldan.algebra.com 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #1: Sat Sep 30 16:33:20 EDT 2006 [EMAIL PROTECTED]:/meow/obj/var/src/sys/SILVER amd64 host: x86_64-portbld-freebsd6.1 build: x86_64-portbld-freebsd6.1 target: x86_64-portbld-freebsd6.1 configured with: ./..//gcc-4.1-20060623/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/opt --program-suffix=41 --libdir=/opt/lib/gcc/x86_64-portbld-freebsd6.1/4.1.2 --with-gxx-include-dir=/opt/lib/gcc/x86_64-portbld-freebsd6.1/4.1.2/include/c++/ --infodir=/opt/info/gcc41 --disable-libgcj --prefix=/opt x86_64-portbld-freebsd6.1 How-To-Repeat: # 1 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" # 1 "<built-in>" # 1 "<command line>" # 1 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" # 1 "/usr/include/stdio.h" 1 3 4 # 43 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 44 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/sys/_null.h" 1 3 4 # 45 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/sys/_types.h" 1 3 4 # 33 "/usr/include/sys/_types.h" 3 4 # 1 "/usr/include/machine/_types.h" 1 3 4 # 51 "/usr/include/machine/_types.h" 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; typedef long __int64_t; typedef unsigned long __uint64_t; typedef __int32_t __clock_t; typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; typedef double __float_t; typedef __int64_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; typedef __int64_t __int_fast64_t; typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; typedef __int64_t __ptrdiff_t; typedef __int64_t __register_t; typedef __int64_t __segsz_t; typedef __uint64_t __size_t; typedef __int64_t __ssize_t; typedef __int64_t __time_t; typedef __uint64_t __uintfptr_t; typedef __uint64_t __uintmax_t; typedef __uint64_t __uintptr_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; typedef __uint64_t __uint_fast64_t; typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; typedef __uint64_t __u_register_t; typedef __uint64_t __vm_offset_t; typedef __int64_t __vm_ooffset_t; typedef __uint64_t __vm_paddr_t; typedef __uint64_t __vm_pindex_t; typedef __uint64_t __vm_size_t; typedef __builtin_va_list __va_list; typedef __va_list __gnuc_va_list; # 34 "/usr/include/sys/_types.h" 2 3 4 typedef __uint32_t __blksize_t; typedef __int64_t __blkcnt_t; typedef __int32_t __clockid_t; typedef __uint32_t __fflags_t; typedef __uint64_t __fsblkcnt_t; typedef __uint64_t __fsfilcnt_t; typedef __uint32_t __gid_t; typedef __int64_t __id_t; typedef __uint32_t __ino_t; typedef long __key_t; typedef __int32_t __lwpid_t; typedef __uint16_t __mode_t; typedef int __nl_item; typedef __uint16_t __nlink_t; typedef __int64_t __off_t; typedef __int32_t __pid_t; typedef __int64_t __rlim_t; typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef long __suseconds_t; typedef __int32_t __timer_t; typedef __uint32_t __uid_t; typedef unsigned int __useconds_t; # 82 "/usr/include/sys/_types.h" 3 4 typedef int __ct_rune_t; typedef __ct_rune_t __rune_t; typedef __ct_rune_t __wchar_t; typedef __ct_rune_t __wint_t; typedef __uint32_t __dev_t; typedef __uint32_t __fixpt_t; typedef union { char __mbstate8[128]; __int64_t _mbstateL; } __mbstate_t; # 46 "/usr/include/stdio.h" 2 3 4 typedef __off_t fpos_t; typedef __size_t size_t; typedef __va_list va_list; # 70 "/usr/include/stdio.h" 3 4 struct __sbuf { unsigned char *_base; int _size; }; struct __sFILEX; # 102 "/usr/include/stdio.h" 3 4 typedef struct __sFILE { unsigned char *_p; int _r; int _w; short _flags; short _file; struct __sbuf _bf; int _lbfsize; void *_cookie; int (*_close)(void *); int (*_read)(void *, char *, int); fpos_t (*_seek)(void *, fpos_t, int); int (*_write)(void *, const char *, int); struct __sbuf _ub; struct __sFILEX *_extra; int _ur; unsigned char _ubuf[3]; unsigned char _nbuf[1]; struct __sbuf _lb; int _blksize; fpos_t _offset; } FILE; extern FILE *__stdinp; extern FILE *__stdoutp; extern FILE *__stderrp; # 208 "/usr/include/stdio.h" 3 4 void clearerr(FILE *); int fclose(FILE *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *); int fgetpos(FILE * , fpos_t * ); char *fgets(char * , int, FILE * ); FILE *fopen(const char * , const char * ); int fprintf(FILE * , const char * , ...); int fputc(int, FILE *); int fputs(const char * , FILE * ); size_t fread(void * , size_t, size_t, FILE * ); FILE *freopen(const char * , const char * , FILE * ); int fscanf(FILE * , const char * , ...); int fseek(FILE *, long, int); int fsetpos(FILE *, const fpos_t *); long ftell(FILE *); size_t fwrite(const void * , size_t, size_t, FILE * ); int getc(FILE *); int getchar(void); char *gets(char *); void perror(const char *); int printf(const char * , ...); int putc(int, FILE *); int putchar(int); int puts(const char *); int remove(const char *); int rename(const char *, const char *); void rewind(FILE *); int scanf(const char * , ...); void setbuf(FILE * , char * ); int setvbuf(FILE * , char * , int, size_t); int sprintf(char * , const char * , ...); int sscanf(const char * , const char * , ...); FILE *tmpfile(void); char *tmpnam(char *); int ungetc(int, FILE *); int vfprintf(FILE * , const char * , __va_list); int vprintf(const char * , __va_list); int vsprintf(char * , const char * , __va_list); int snprintf(char * , size_t, const char * , ...) __attribute__((__format__ (__printf__, 3, 4))); int vfscanf(FILE * , const char * , __va_list) __attribute__((__format__ (__scanf__, 2, 0))); int vscanf(const char * , __va_list) __attribute__((__format__ (__scanf__, 1, 0))); int vsnprintf(char * , size_t, const char * , __va_list) __attribute__((__format__ (__printf__, 3, 0))); int vsscanf(const char * , const char * , __va_list) __attribute__((__format__ (__scanf__, 2, 0))); # 279 "/usr/include/stdio.h" 3 4 char *ctermid(char *); FILE *fdopen(int, const char *); int fileno(FILE *); int pclose(FILE *); FILE *popen(const char *, const char *); int ftrylockfile(FILE *); void flockfile(FILE *); void funlockfile(FILE *); int getc_unlocked(FILE *); int getchar_unlocked(void); int putc_unlocked(int, FILE *); int putchar_unlocked(int); void clearerr_unlocked(FILE *); int feof_unlocked(FILE *); int ferror_unlocked(FILE *); int fileno_unlocked(FILE *); int fseeko(FILE *, __off_t, int); __off_t ftello(FILE *); int getw(FILE *); int putw(int, FILE *); char *tempnam(const char *, const char *); int asprintf(char **, const char *, ...) __attribute__((__format__ (__printf__, 2, 3))); char *ctermid_r(char *); char *fgetln(FILE *, size_t *); const char *fmtcheck(const char *, const char *) __attribute__((__format_arg__ (2))); int fpurge(FILE *); void setbuffer(FILE *, char *, int); int setlinebuf(FILE *); int vasprintf(char **, const char *, __va_list) __attribute__((__format__ (__printf__, 2, 0))); extern const int sys_nerr; extern const char *const sys_errlist[]; FILE *funopen(const void *, int (*)(void *, char *, int), int (*)(void *, const char *, int), fpos_t (*)(void *, fpos_t, int), int (*)(void *)); # 362 "/usr/include/stdio.h" 3 4 int ftruncate(int, __off_t); __off_t lseek(int, __off_t, int); void *mmap(void *, size_t, int, int, int, __off_t); int truncate(const char *, __off_t); int __srget(FILE *); int __swbuf(int, FILE *); static __inline int __sputc(int _c, FILE *_p) { if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) return (*_p->_p++ = _c); else return (__swbuf(_c, _p)); } # 415 "/usr/include/stdio.h" 3 4 extern int __isthreaded; # 449 "/usr/include/stdio.h" 3 4 # 2 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 46 "/usr/include/stdlib.h" 3 4 typedef __rune_t rune_t; # 58 "/usr/include/stdlib.h" 3 4 typedef __wchar_t wchar_t; typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; extern int __mb_cur_max; void abort(void) __attribute__((__noreturn__)); int abs(int) __attribute__((__const__)); int atexit(void (*)(void)); double atof(const char *); int atoi(const char *); long atol(const char *); void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); void *calloc(size_t, size_t); div_t div(int, int) __attribute__((__const__)); void exit(int) __attribute__((__noreturn__)); void free(void *); char *getenv(const char *); long labs(long) __attribute__((__const__)); ldiv_t ldiv(long, long) __attribute__((__const__)); void *malloc(size_t); int mblen(const char *, size_t); size_t mbstowcs(wchar_t * , const char * , size_t); int mbtowc(wchar_t * , const char * , size_t); void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); int rand(void); void *realloc(void *, size_t); void srand(unsigned); double strtod(const char * , char ** ); float strtof(const char * , char ** ); long strtol(const char * , char ** , int); long double strtold(const char * , char ** ); unsigned long strtoul(const char * , char ** , int); int system(const char *); int wctomb(char *, wchar_t); size_t wcstombs(char * , const wchar_t * , size_t); # 130 "/usr/include/stdlib.h" 3 4 typedef struct { long long quot; long long rem; } lldiv_t; long long atoll(const char *); long long llabs(long long) __attribute__((__const__)); lldiv_t lldiv(long long, long long) __attribute__((__const__)); long long strtoll(const char * , char ** , int); unsigned long long strtoull(const char * , char ** , int); void _Exit(int) __attribute__((__noreturn__)); # 161 "/usr/include/stdlib.h" 3 4 int rand_r(unsigned *); int setenv(const char *, const char *, int); void unsetenv(const char *); # 174 "/usr/include/stdlib.h" 3 4 long a64l(const char *); double drand48(void); double erand48(unsigned short[3]); int getsubopt(char **, char *const *, char **); int grantpt(int); char *initstate(unsigned long , char *, long); long jrand48(unsigned short[3]); char *l64a(long); void lcong48(unsigned short[7]); long lrand48(void); int mkstemp(char *); char *mktemp(char *); long mrand48(void); long nrand48(unsigned short[3]); int posix_openpt(int); char *ptsname(int); int putenv(const char *); long random(void); char *realpath(const char *, char resolved_path[]); unsigned short *seed48(unsigned short[3]); int setkey(const char *); char *setstate( char *); void srand48(long); void srandom(unsigned long); int unlockpt(int); extern const char *_malloc_options; extern void (*_malloc_message)(const char *, const char *, const char *, const char *); # 235 "/usr/include/stdlib.h" 3 4 __uint32_t arc4random(void); void arc4random_addrandom(unsigned char *dat, int datlen); void arc4random_stir(void); char *getbsize(int *, long *); char *cgetcap(char *, const char *, int); int cgetclose(void); int cgetent(char **, char **, const char *); int cgetfirst(char **, char **); int cgetmatch(const char *, const char *); int cgetnext(char **, char **); int cgetnum(char *, const char *, long *); int cgetset(const char *); int cgetstr(char *, const char *, char **); int cgetustr(char *, const char *, char **); int daemon(int, int); char *devname(int, int); char *devname_r(int, int, char *, int); int getloadavg(double [], int); const char * getprogname(void); int heapsort(void *, size_t, size_t, int (*)(const void *, const void *)); int l64a_r(long, char *, int); int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); void qsort_r(void *, size_t, size_t, void *, int (*)(void *, const void *, const void *)); int radixsort(const unsigned char **, int, const unsigned char *, unsigned); void *reallocf(void *, size_t); int rpmatch(const char *); void setprogname(const char *); int sradixsort(const unsigned char **, int, const unsigned char *, unsigned); void sranddev(void); void srandomdev(void); long long strtonum(const char *, long long, long long, const char **); __int64_t strtoq(const char *, char **, int); __uint64_t strtouq(const char *, char **, int); extern char *suboptarg; # 3 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 41 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/sys/types.h" 1 3 4 # 44 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/machine/endian.h" 1 3 4 # 158 "/usr/include/machine/endian.h" 3 4 static __inline __uint64_t __bswap64(__uint64_t _x) { return ((__builtin_constant_p(_x) ? (((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | ((_x >> 8) & 0xff000000) | ((_x << 8) & (0xfful << 32)) | ((_x << 24) & (0xfful << 40)) | ((_x << 40) & (0xfful << 48)) | ((_x << 56)))) : __extension__ ({ register __uint64_t __X = (_x); __asm ("bswap %0" : "+r" (__X)); __X; }))); } static __inline __uint32_t __bswap32(__uint32_t _x) { return ((__builtin_constant_p(_x) ? ((((_x) & 0xff000000) >> 24) | (((_x) & 0x00ff0000) >> 8) | (((_x) & 0x0000ff00) << 8) | (((_x) & 0x000000ff) << 24)) : __extension__ ({ register __uint32_t __X = (_x); __asm ("bswap %0" : "+r" (__X)); __X; }))); } static __inline __uint16_t __bswap16(__uint16_t _x) { return ((__builtin_constant_p(_x) ? ((((_x) & 0xff00) >> 8) | (((_x) & 0x00ff) << 8)) : __extension__ ({ register __uint16_t __X = (_x); __asm ("xchgb %h0, %b0" : "+Q" (__X)); __X; }))); } # 45 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/_pthreadtypes.h" 1 3 4 # 44 "/usr/include/sys/_pthreadtypes.h" 3 4 struct pthread; struct pthread_attr; struct pthread_cond; struct pthread_cond_attr; struct pthread_mutex; struct pthread_mutex_attr; struct pthread_once; struct pthread_rwlock; struct pthread_rwlockattr; struct pthread_barrier; struct pthread_barrier_attr; struct pthread_spinlock; # 64 "/usr/include/sys/_pthreadtypes.h" 3 4 typedef struct pthread *pthread_t; typedef struct pthread_attr *pthread_attr_t; typedef struct pthread_mutex *pthread_mutex_t; typedef struct pthread_mutex_attr *pthread_mutexattr_t; typedef struct pthread_cond *pthread_cond_t; typedef struct pthread_cond_attr *pthread_condattr_t; typedef int pthread_key_t; typedef struct pthread_once pthread_once_t; typedef struct pthread_rwlock *pthread_rwlock_t; typedef struct pthread_rwlockattr *pthread_rwlockattr_t; typedef struct pthread_barrier *pthread_barrier_t; typedef struct pthread_barrierattr *pthread_barrierattr_t; typedef struct pthread_spinlock *pthread_spinlock_t; typedef void *pthread_addr_t; typedef void *(*pthread_startroutine_t)(void *); struct pthread_once { int state; pthread_mutex_t mutex; }; # 48 "/usr/include/sys/types.h" 2 3 4 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef unsigned short ushort; typedef unsigned int uint; typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef __uint64_t u_quad_t; typedef __int64_t quad_t; typedef quad_t * qaddr_t; typedef char * caddr_t; typedef const char * c_caddr_t; typedef volatile char *v_caddr_t; typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __clock_t clock_t; typedef __clockid_t clockid_t; typedef __critical_t critical_t; typedef __int64_t daddr_t; typedef __dev_t dev_t; typedef __fflags_t fflags_t; typedef __fixpt_t fixpt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; typedef __gid_t gid_t; typedef __uint32_t in_addr_t; typedef __uint16_t in_port_t; typedef __id_t id_t; typedef __ino_t ino_t; typedef __key_t key_t; typedef __lwpid_t lwpid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __off_t off_t; typedef __pid_t pid_t; typedef __register_t register_t; typedef __rlim_t rlim_t; typedef __segsz_t segsz_t; typedef __ssize_t ssize_t; typedef __suseconds_t suseconds_t; typedef __time_t time_t; typedef __timer_t timer_t; typedef __u_register_t u_register_t; typedef __uid_t uid_t; typedef __useconds_t useconds_t; typedef __vm_offset_t vm_offset_t; typedef __vm_ooffset_t vm_ooffset_t; typedef __vm_paddr_t vm_paddr_t; typedef __vm_pindex_t vm_pindex_t; typedef __vm_size_t vm_size_t; # 299 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 38 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/sys/_sigset.h" 1 3 4 # 51 "/usr/include/sys/_sigset.h" 3 4 typedef struct __sigset { __uint32_t __bits[4]; } __sigset_t; # 39 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/sys/_timeval.h" 1 3 4 # 47 "/usr/include/sys/_timeval.h" 3 4 struct timeval { long tv_sec; suseconds_t tv_usec; }; # 40 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/sys/timespec.h" 1 3 4 # 46 "/usr/include/sys/timespec.h" 3 4 struct timespec { time_t tv_sec; long tv_nsec; }; # 41 "/usr/include/sys/select.h" 2 3 4 typedef unsigned long __fd_mask; typedef __fd_mask fd_mask; typedef __sigset_t sigset_t; # 71 "/usr/include/sys/select.h" 3 4 typedef struct fd_set { __fd_mask __fds_bits[(((1024U) + (((sizeof(__fd_mask) * 8)) - 1)) / ((sizeof(__fd_mask) * 8)))]; } fd_set; # 97 "/usr/include/sys/select.h" 3 4 int pselect(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *); int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); # 300 "/usr/include/sys/types.h" 2 3 4 # 319 "/usr/include/sys/types.h" 3 4 # 336 "/usr/include/sys/types.h" 3 4 # 42 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/sys/unistd.h" 1 3 4 # 43 "/usr/include/unistd.h" 2 3 4 # 318 "/usr/include/unistd.h" 3 4 void _exit(int) __attribute__((__noreturn__)); int access(const char *, int); unsigned int alarm(unsigned int); int chdir(const char *); int chown(const char *, uid_t, gid_t); int close(int); int dup(int); int dup2(int, int); int eaccess(const char *, int); int execl(const char *, const char *, ...); int execle(const char *, const char *, ...); int execlp(const char *, const char *, ...); int execv(const char *, char * const *); int execve(const char *, char * const *, char * const *); int execvp(const char *, char * const *); pid_t fork(void); long fpathconf(int, int); char *getcwd(char *, size_t); gid_t getegid(void); uid_t geteuid(void); gid_t getgid(void); int getgroups(int, gid_t []); char *getlogin(void); pid_t getpgrp(void); pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); int isatty(int); int link(const char *, const char *); long pathconf(const char *, int); int pause(void); int pipe(int *); ssize_t read(int, void *, size_t); int rmdir(const char *); int setgid(gid_t); int setpgid(pid_t, pid_t); void setproctitle(const char *_fmt, ...) __attribute__((__format__ (__printf0__, 1, 2))); pid_t setsid(void); int setuid(uid_t); unsigned int sleep(unsigned int); long sysconf(int); pid_t tcgetpgrp(int); int tcsetpgrp(int, pid_t); char *ttyname(int); int ttyname_r(int, char *, size_t); int unlink(const char *); ssize_t write(int, const void *, size_t); size_t confstr(int, char *, size_t); int getopt(int, char * const [], const char *); extern char *optarg; extern int optind, opterr, optopt; int fsync(int); # 399 "/usr/include/unistd.h" 3 4 int getlogin_r(char *, int); int fchown(int, uid_t, gid_t); int readlink(const char *, char *, int); int gethostname(char *, size_t); int setegid(gid_t); int seteuid(uid_t); # 419 "/usr/include/unistd.h" 3 4 int symlink(const char * , const char * ); char *crypt(const char *, const char *); int encrypt(char *, int); int fchdir(int); long gethostid(void); int getpgid(pid_t _pid); int getsid(pid_t _pid); char *getwd(char *); int lchown(const char *, uid_t, gid_t); int lockf(int, int, off_t); int nice(int); ssize_t pread(int, void *, size_t, off_t); ssize_t pwrite(int, const void *, size_t, off_t); int setpgrp(pid_t _pid, pid_t _pgrp); int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); void swab(const void * , void * , ssize_t); void sync(void); useconds_t ualarm(useconds_t, useconds_t); int usleep(useconds_t); pid_t vfork(void); # 459 "/usr/include/unistd.h" 3 4 int brk(const void *); int chroot(const char *); int getdtablesize(void); int getpagesize(void) __attribute__((__const__)); char *getpass(const char *); void *sbrk(intptr_t); struct timeval; int acct(const char *); int async_daemon(void); int check_utility_compat(const char *); const char * crypt_get_format(void); int crypt_set_format(const char *); int des_cipher(const char *, char *, long, int); int des_setkey(const char *key); void endusershell(void); int exect(const char *, char * const *, char * const *); int execvP(const char *, const char *, char * const *); char *fflagstostr(u_long); int getdomainname(char *, int); int getgrouplist(const char *, gid_t, gid_t *, int *); mode_t getmode(const void *, mode_t); int getpeereid(int, uid_t *, gid_t *); int getresgid(gid_t *, gid_t *, gid_t *); int getresuid(uid_t *, uid_t *, uid_t *); char *getusershell(void); int initgroups(const char *, gid_t); int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); char *mkdtemp(char *); int mknod(const char *, mode_t, dev_t); int mkstemps(char *, int); int nfssvc(int, void *); int profil(char *, size_t, vm_offset_t, int); int rcmd(char **, int, const char *, const char *, const char *, int *); int rcmd_af(char **, int, const char *, const char *, const char *, int *, int); int rcmdsh(char **, int, const char *, const char *, const char *, const char *); char *re_comp(const char *); int re_exec(const char *); int reboot(int); int revoke(const char *); pid_t rfork(int); pid_t rfork_thread(int, void *, int (*)(void *), void *); int rresvport(int *); int rresvport_af(int *, int); int ruserok(const char *, int, const char *, const char *); int setdomainname(const char *, int); int setgroups(int, const gid_t *); void sethostid(long); int sethostname(const char *, int); int setlogin(const char *); void *setmode(const char *); int setresgid(gid_t, gid_t, gid_t); int setresuid(uid_t, uid_t, uid_t); int setrgid(gid_t); int setruid(uid_t); void setusershell(void); int strtofflags(char **, u_long *, u_long *); int swapon(const char *); int swapoff(const char *); int syscall(int, ...); off_t __syscall(quad_t, ...); int ttyslot(void); int undelete(const char *); int unwhiteout(const char *); void *valloc(size_t); extern int optreset; # 4 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 197 "/usr/include/fcntl.h" 3 4 struct flock { off_t l_start; off_t l_len; pid_t l_pid; short l_type; short l_whence; }; # 219 "/usr/include/fcntl.h" 3 4 int open(const char *, int, ...); int creat(const char *, mode_t); int fcntl(int, int, ...); int flock(int, int); # 5 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" 2 # 1 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" 1 # 10 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" # 1 "/usr/include/string.h" 1 3 4 # 49 "/usr/include/string.h" 3 4 # 1 "/usr/include/strings.h" 1 3 4 # 40 "/usr/include/strings.h" 3 4 int bcmp(const void *, const void *, size_t) __attribute__((__pure__)); void bcopy(const void *, void *, size_t); void bzero(void *, size_t); int ffs(int) __attribute__((__const__)); int ffsl(long) __attribute__((__const__)); int fls(int) __attribute__((__const__)); int flsl(long) __attribute__((__const__)); char *index(const char *, int) __attribute__((__pure__)); char *rindex(const char *, int) __attribute__((__pure__)); int strcasecmp(const char *, const char *) __attribute__((__pure__)); int strncasecmp(const char *, const char *, size_t) __attribute__((__pure__)); # 50 "/usr/include/string.h" 2 3 4 void *memccpy(void * , const void * , int, size_t); void *memchr(const void *, int, size_t) __attribute__((__pure__)); int memcmp(const void *, const void *, size_t) __attribute__((__pure__)); void *memcpy(void * , const void * , size_t); void *memmem(const void *, size_t, const void *, size_t); void *memmove(void *, const void *, size_t); void *memset(void *, int, size_t); char *stpcpy(char *, const char *); char *strcasestr(const char *, const char *) __attribute__((__pure__)); char *strcat(char * , const char * ); char *strchr(const char *, int) __attribute__((__pure__)); int strcmp(const char *, const char *) __attribute__((__pure__)); int strcoll(const char *, const char *); char *strcpy(char * , const char * ); size_t strcspn(const char *, const char *) __attribute__((__pure__)); char *strdup(const char *); char *strerror(int); int strerror_r(int, char *, size_t); size_t strlcat(char *, const char *, size_t); size_t strlcpy(char *, const char *, size_t); size_t strlen(const char *) __attribute__((__pure__)); void strmode(int, char *); char *strncat(char * , const char * , size_t); int strncmp(const char *, const char *, size_t) __attribute__((__pure__)); char *strncpy(char * , const char * , size_t); char *strnstr(const char *, const char *, size_t) __attribute__((__pure__)); char *strpbrk(const char *, const char *) __attribute__((__pure__)); char *strrchr(const char *, int) __attribute__((__pure__)); char *strsep(char **, const char *); char *strsignal(int); size_t strspn(const char *, const char *) __attribute__((__pure__)); char *strstr(const char *, const char *) __attribute__((__pure__)); char *strtok(char * , const char * ); char *strtok_r(char *, const char *, char **); size_t strxfrm(char * , const char * , size_t); # 127 "/usr/include/string.h" 3 4 # 11 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" 2 # 134 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" struct info { int xdim; int ydim; int colors; int xbytes; int bytesperpixel; }; extern int __svgalib_CRT_I; extern int __svgalib_CRT_D; extern int __svgalib_IS1_R; extern unsigned char * BANKED_MEM_POINTER, * LINEAR_MEM_POINTER, * MMIO_POINTER; extern unsigned long int __svgalib_banked_mem_base, __svgalib_banked_mem_size; extern unsigned long int __svgalib_mmio_base, __svgalib_mmio_size; extern unsigned long int __svgalib_linear_mem_base, __svgalib_linear_mem_size; extern unsigned long int __svgalib_mmio_base, __svgalib_mmio_size; extern struct info __svgalib_cur_info; extern int __svgalib_cur_color; extern int __svgalib_cur_mode; extern struct info __svgalib_infotable[]; extern int __svgalib_screenon; extern unsigned long __svgalib_graph_base; extern unsigned char *__svgalib_graph_mem; extern int __svgalib_modeX; extern int __svgalib_modeflags; extern int __svgalib_mem_fd; extern int __svgalib_tty_fd; extern int __svgalib_nosigint; extern int __svgalib_mouse_fd; extern int __svgalib_kbd_fd; extern int __svgalib_runinbackground; extern unsigned char __svgalib_novga; extern unsigned char __svgalib_textprog; extern unsigned char __svgalib_secondary; extern unsigned char __svgalib_novccontrol; extern unsigned char __svgalib_m_ignore_dx; extern unsigned char __svgalib_m_ignore_dy; extern unsigned char __svgalib_m_ignore_dz; extern char *__joystick_devicenames[4]; extern int __svgalib_inmisc(void); extern void __svgalib_outmisc(int); extern int __svgalib_setregs(const unsigned char *regs); extern int __svgalib_saveregs(unsigned char *regs); extern void __svgalib_dumpregs(const unsigned char regs[], int n); extern void __svgalib_get_perm(void); extern int __svgalib_getchipset(void); extern int __svgalib_name2number(char *modename); extern void __svgalib_delay(void); extern int __svgalib_addmode(int xdim, int ydim, int cols, int xbytes, int bytespp); extern int __svgalib_physmem(void); extern void __svgalib_waitvtactive(void); extern void __svgalib_open_devconsole(void); extern void __svgalib_flipaway(void); extern void (*__svgalib_mouse_eventhandler) (int, int, int, int, int, int, int); extern void (*__svgalib_keyboard_eventhandler) (int, int); extern void __joystick_flip_vc(int acquire); extern char *__svgalib_TextProg_argv[16]; extern char *__svgalib_TextProg; extern int __svgalib_VESA_savebitmap; extern int __svgalib_VESA_textmode; extern unsigned char __svgalib_vesatext; extern int __svgalib_mapkeyname(const char *keyname); extern void __svgalib_mouse_update_keymap(void); # 273 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" static __inline__ void port_out(int value, int port) { __asm__ volatile ("outb %0,%1" ::"a" ((unsigned char) value), "d"((unsigned short) port)); } static __inline__ void port_outw(int value, int port) { __asm__ volatile ("outw %0,%1" ::"a" ((unsigned short) value), "d"((unsigned short) port)); } static __inline__ void port_outl(int value, int port) { __asm__ volatile ("outl %0,%1" ::"a" ((unsigned long)value), "d" ((unsigned short) port)); } static __inline__ int port_in(int port) { unsigned char value; __asm__ volatile ("inb %1,%0" :"=a" (value) :"d"((unsigned short) port)); return value; } static __inline__ int port_inw(int port) { unsigned short value; __asm__ volatile ("inw %1,%0" :"=a" (value) :"d"((unsigned short) port)); return value; } static __inline__ int port_inl(int port) { unsigned int value; __asm__ volatile("inl %1,%0" : "=a" (value) : "d" ((unsigned short)port)); return value; } # 346 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/libvga.h" extern unsigned char *__svgalib_give_graph_red(void); extern unsigned char *__svgalib_give_graph_green(void); extern unsigned char *__svgalib_give_graph_blue(void); # 6 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" 2 int __svgalib_use_procpci=0; int __svgalib_pci_ibus=0, __svgalib_pci_idev=0; static int pci_read_config (unsigned char bus, unsigned char device, unsigned char fn, unsigned long *buf, int size) { int i; unsigned long bx = ((fn&7)<<8) | ((device&31)<<11) | (bus<<16) | 0x80000000; for (i=0; i<size; i++) { port_outl(bx|(i<<2), 0xcf8); buf[i] = port_inl (0xcfc); } return 0; } static int proc_pci_read_config(unsigned char bus, unsigned char device, unsigned char fn, unsigned long *buf, int size) { int f,i; char filename[256]; sprintf(filename,"/proc/bus/pci/%02i/%02x.%i",bus,device,fn); f=open(filename,0x0000); if(read(f,buf,4*size)<1)for(i=0;i<63;i++)buf[i]=-1; close(f); return 0; }; # 50 "/var/ports/graphics/svgalib/work/svgalib-1.4.3/src/vgapci.c" int __svgalib_pci_find_vendor_vga(unsigned int vendor, unsigned long *conf, int cont) { unsigned long buf[64]; int bus,device=0; cont++; for(bus=__svgalib_pci_ibus;(bus<16)&&cont;bus++) for(device=__svgalib_pci_idev;(device<32)&&cont;device++){ if(__svgalib_use_procpci)proc_pci_read_config(bus,device,0,buf,3); else pci_read_config(bus,device,0,buf,3); if(((buf[0]&0xffff)==vendor)&& (((buf[2]>>16)&0xffff)==0x0300)) if(!(--cont)){ if(__svgalib_use_procpci)proc_pci_read_config(bus,device,0,buf,64); else pci_read_config(bus,device,0,buf,64); memcpy(conf,buf,256); return 0; }; }; return cont; } -- Summary: Compiling an assembler-less file generates error from assembler Product: gcc Version: unknown Status: UNCONFIRMED Severity: critical Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mi at aldan dot algebra dot com GCC build triplet: x86_64-portbld-freebsd6.1 GCC host triplet: x86_64-portbld-freebsd6.1 GCC target triplet: x86_64-portbld-freebsd6.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29309