H elp with i386 trampoline asm output ?

Gregor Hoffleit flight at thefly.mathi.uni-heidelberg.de
Thu Nov 27 09:16:30 PST 1997


[ Mail resent, after it bounced due to the "help" majordomo keyword
  in the header, try to avoid placing such keyword as the first word
  of the subject or line of a mail sent to a mailing list, Daniel
  Author : Gregor Hoffleit <flight at thefly.mathi.uni-heidelberg.de> ]  

Hi,

when compiling kaffe 0.9.2 for NEXTSTEP, the compiler barfs about  
jit/funcs.c (about the trampoline code, to be more exact). The problem  
seems to be with the assembler not being able to parse the following  
compiler output. Perhaps a kind soul with more intimate knowledge  
about Intel assembler could tell me what this means and how I could  
work around the problem ?

This is a fragment from funcs.s, the erronous lines are marked with "<<<<":

#APP
	.text
	.align 4
	.globl _i386_do_fixup_trampoline
_i386_do_fixup_trampoline:			
	call	i386_dft1					

i386_dft1:							
	popl	%ebx						
	addl	$_GLOBAL_OFFSET_TABLE_+[.-i386_dft1],%ebx	<<<<
	call	_fixupTrampoline at PLT				<<<<
	popl	%ecx						
	jmp	*%eax

The assembler tells me:

/usr/tmp/cc410051-003372.s:12107:invalid character '[' in first operand
/usr/tmp/cc410051-003372.s:12108:invalid character '@' in first operand

The compiler is gcc-2.7.2.1, the assembler is GNU as 1.38. It's  
impossible to install a more recent gas, since it won't compile for  
Nextstep, so I'd love to see a replacement for the code above ;-) that  
I could work into funcs.s.

Many thanks in advance!

	Gregor


- ---
| Gregor Hoffleit     admin MATHInet / contact HeidelNeXT |
| MAIL: Mathematisches Institut   PHONE: (49)6221 56-5771 |
|       INF 288, 69120 Heidelberg / Germany  FAX: 56-3812 |
| EMAIL: flight at mathi.uni-heidelberg.de (NeXTmail)        |







More information about the kaffe mailing list