[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations)



Greetings!  The function is fasload.  Here is the assembly.  Note the
swi call, followed shortly by a call to call_init.  This function
basically jumps to the initial address of the newly loaded and
relocated object.

Again, as is this is working about at the 95% level.  SIGILL received
toward end of maxima tests, at a point which gdb reports should be no
problem, indicating a likely cache-flushing issue.

Thanks for your help!

=============================================================================
fasload:
	.stabn 68,0,168,.LM40-fasload
.LM40:
	@ args = 0, pretend = 0, frame = 344
	@ frame_needed = 1, current_function_anonymous_args = 0
	mov	ip, sp
	stmfd	sp!, {r4, fp, ip, lr, pc}
	sub	fp, ip, #4
	sub	sp, sp, #352
	str	r0, [fp, #-20]
.LBB2:
	.stabn 68,0,172,.LM41-fasload
.LM41:
	mvn	r3, #0
	str	r3, [fp, #-284]
	.stabn 68,0,174,.LM42-fasload
.LM42:
	mov	r3, #0
	str	r3, [fp, #-292]
	str	r3, [fp, #-296]
	.stabn 68,0,175,.LM43-fasload
.LM43:
	ldr	r3, .L88
	ldr	r3, [r3, #0]
	str	r3, [fp, #-300]
	.stabn 68,0,176,.LM44-fasload
.LM44:
	ldr	r3, .L88+4
	ldr	r3, [r3, #0]
	str	r3, [fp, #-304]
	.stabn 68,0,187,.LM45-fasload
.LM45:
	ldr	r3, .L88+8
	ldr	r3, [r3, #0]
	cmp	r3, #0
	bne	.L50
	.stabn 68,0,189,.LM46-fasload
.LM46:
	mov	r2, #1
	ldr	r3, .L88+8
	str	r2, [r3, #0]
	.stabn 68,0,191,.LM47-fasload
.LM47:
	mov	r2, #16
	ldr	r3, .L88+12
	strb	r2, [r3, #0]
	.stabn 68,0,192,.LM48-fasload
.LM48:
	mov	r2, #0
	strb	r2, [r3, #28]
	.stabn 68,0,193,.LM49-fasload
.LM49:
	mov	r2, #0
	str	r2, [r3, #12]
	str	r2, [r3, #8]
	.stabn 68,0,195,.LM50-fasload
.LM50:
	ldr	r2, .L88+16
	ldr	r3, .L88+20
	str	r2, [r3, #0]
	.stabn 68,0,196,.LM51-fasload
.LM51:
	ldr	r2, .L88+24
	str	r2, [r3, #4]
	.stabn 68,0,197,.LM52-fasload
.LM52:
	ldr	r2, .L88+28
	str	r2, [r3, #8]
	.stabn 68,0,198,.LM53-fasload
.LM53:
	ldr	r2, .L88+32
	str	r2, [r3, #12]
	.stabn 68,0,199,.LM54-fasload
.LM54:
	ldr	r2, .L88+36
	str	r2, [r3, #16]
	.stabn 68,0,200,.LM55-fasload
.LM55:
	ldr	r2, .L88+40
	str	r2, [r3, #20]
	.stabn 68,0,201,.LM56-fasload
.LM56:
	ldr	r2, .L88+44
	str	r2, [r3, #24]
	.stabn 68,0,202,.LM57-fasload
.LM57:
	ldr	r2, .L88+48
	str	r2, [r3, #28]
	.stabn 68,0,203,.LM58-fasload
.LM58:
	ldr	r2, .L88+52
	str	r2, [r3, #32]
	.stabn 68,0,204,.LM59-fasload
.LM59:
	ldr	r2, .L88+56
	str	r2, [r3, #36]
	.stabn 68,0,205,.LM60-fasload
.LM60:
	ldr	r2, .L88+60
	str	r2, [r3, #40]
	.stabn 68,0,206,.LM61-fasload
.LM61:
	ldr	r2, .L88+20
	ldr	r3, .L88+64
	str	r2, [r3, #0]
	.stabn 68,0,208,.LM62-fasload
.LM62:
	mov	r2, #1
	ldr	r3, .L88+68
	str	r2, [r3, #4]
.L50:
	.stabn 68,0,212,.LM63-fasload
.LM63:
	ldr	r0, [fp, #-20]
	sub	r1, fp, #280
	bl	coerce_to_filename
	.stabn 68,0,214,.LM64-fasload
.LM64:
	sub	r0, fp, #280
	mov	r1, #0
	bl	bfd_openr
	mov	r3, r0
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-308]
	cmp	r3, #0
	bne	.L51
	.stabn 68,0,215,.LM65-fasload
.LM65:
	ldr	r0, .L88+72
	bl	FEerror
.L51:
	.stabn 68,0,216,.LM66-fasload
.LM66:
	ldr	r0, [fp, #-308]
	mov	r1, #1
	bl	bfd_check_format
	mov	r3, r0
	cmp	r3, #0
	bne	.L52
	.stabn 68,0,217,.LM67-fasload
.LM67:
	ldr	r0, .L88+76
	bl	FEerror
.L52:
	.stabn 68,0,219,.LM68-fasload
.LM68:
	mov	r3, #0
	str	r3, [fp, #-292]
	.stabn 68,0,220,.LM69-fasload
.LM69:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-324]
.L53:
	ldr	r3, [fp, #-324]
	cmp	r3, #0
	bne	.L56
	b	.L54
.L56:
	.stabn 68,0,222,.LM70-fasload
.LM70:
	ldr	r2, [fp, #-308]
	ldr	r3, [fp, #-324]
	str	r2, [r3, #116]
	.stabn 68,0,223,.LM71-fasload
.LM71:
	ldr	r2, [fp, #-324]
	str	r2, [fp, #-348]
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L57
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-352]
	b	.L58
.L57:
	ldr	r3, [fp, #-324]
	str	r3, [fp, #-352]
.L58:
	ldr	r3, [fp, #-352]
	ldr	r2, [fp, #-348]
	str	r3, [r2, #44]
	.stabn 68,0,224,.LM72-fasload
.LM72:
	mov	r2, #0
	ldr	r3, [fp, #-324]
	str	r2, [r3, #40]
	.stabn 68,0,226,.LM73-fasload
.LM73:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L59
	.stabn 68,0,227,.LM74-fasload
.LM74:
	b	.L55
.L59:
	.stabn 68,0,229,.LM75-fasload
.LM75:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-296]
	cmp	r3, r2
	bcs	.L60
	.stabn 68,0,230,.LM76-fasload
.LM76:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-296]
.L60:
	.stabn 68,0,232,.LM77-fasload
.LM77:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #48]
	mov	r3, #1
	mov	r3, r3, asl r2
	ldr	r0, [fp, #-292]
	mov	r1, r3
	bl	round_up
	mov	r3, r0
	str	r3, [fp, #-292]
	.stabn 68,0,234,.LM78-fasload
.LM78:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-292]
	add	r3, r3, r2
	str	r3, [fp, #-292]
	.stabn 68,0,220,.LM79-fasload
.LM79:
.L55:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-324]
	b	.L53
.L54:
	.stabn 68,0,237,.LM80-fasload
.LM80:
	mov	r2, #1
	ldr	r3, [fp, #-296]
	mov	r3, r2, asl r3
	str	r3, [fp, #-296]
	.stabn 68,0,239,.LM81-fasload
.LM81:
	mov	r0, #27
	bl	alloc_object
	mov	r3, r0
	str	r3, [fp, #-288]
	.stabn 68,0,240,.LM82-fasload
.LM82:
	mov	r2, #0
	ldr	r3, [fp, #-288]
	str	r2, [r3, #16]
	.stabn 68,0,241,.LM83-fasload
.LM83:
	ldr	r3, [fp, #-288]
	str	r2, [r3, #4]
	.stabn 68,0,242,.LM84-fasload
.LM84:
	ldr	r2, [fp, #-288]
	str	r2, [fp, #-356]
	ldr	r3, [fp, #-292]
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-296]
	cmp	r3, #4
	bls	.L61
	ldr	r3, [fp, #-296]
	ldr	r2, [fp, #-360]
	add	r2, r2, r3
	str	r2, [fp, #-360]
.L61:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-356]
	str	r2, [r3, #8]
	.stabn 68,0,244,.LM85-fasload
.LM85:
	ldr	r4, [fp, #-288]
	ldr	r3, [fp, #-288]
	ldr	r0, [r3, #8]
	bl	alloc_contblock
	str	r0, [r4, #4]
	.stabn 68,0,245,.LM86-fasload
.LM86:
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-332]
	str	r3, [fp, #-328]
	.stabn 68,0,247,.LM87-fasload
.LM87:
	ldr	r0, [fp, #-332]
	ldr	r1, [fp, #-296]
	bl	round_up
	mov	r3, r0
	str	r3, [fp, #-332]
	.stabn 68,0,248,.LM88-fasload
.LM88:
	ldr	r2, [fp, #-332]
	ldr	r3, [fp, #-328]
	rsb	r2, r3, r2
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #8]
	rsb	r2, r2, r3
	ldr	r3, [fp, #-288]
	str	r2, [r3, #8]
	.stabn 68,0,249,.LM89-fasload
.LM89:
	ldr	r2, [fp, #-332]
	ldr	r3, [fp, #-288]
	str	r2, [r3, #4]
	.stabn 68,0,251,.LM90-fasload
.LM90:
	ldr	r3, [fp, #-288]
	ldr	r0, [r3, #4]
	mov	r1, #0
	ldr	r3, [fp, #-288]
	ldr	r2, [r3, #8]
	bl	memset
	.stabn 68,0,253,.LM91-fasload
.LM91:
	ldr	r3, [fp, #-332]
	str	r3, [fp, #-336]
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-324]
.L62:
	ldr	r3, [fp, #-324]
	cmp	r3, #0
	bne	.L65
	b	.L63
.L65:
	.stabn 68,0,255,.LM92-fasload
.LM92:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L66
	.stabn 68,0,256,.LM93-fasload
.LM93:
	b	.L64
.L66:
	.stabn 68,0,258,.LM94-fasload
.LM94:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #48]
	mov	r3, #1
	mov	r3, r3, asl r2
	ldr	r0, [fp, #-336]
	mov	r1, r3
	bl	round_up
	mov	r3, r0
	str	r3, [fp, #-336]
	.stabn 68,0,259,.LM95-fasload
.LM95:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-336]
	str	r3, [r2, #24]
	.stabn 68,0,260,.LM96-fasload
.LM96:
	ldr	r3, [fp, #-324]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-336]
	add	r3, r3, r2
	str	r3, [fp, #-336]
	.stabn 68,0,253,.LM97-fasload
.LM97:
.L64:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-324]
	b	.L62
.L63:
	.stabn 68,0,264,.LM98-fasload
.LM98:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #244]
	ldr	r0, [fp, #-308]
	mov	lr, pc
	mov	pc, r3
	str	r0, [fp, #-312]
	.stabn 68,0,266,.LM99-fasload
.LM99:
	ldr	r3, [fp, #-312]
	add	r3, r3, #3
	mov	r3, r3, lsr #2
	mov	r3, r3, asl #2
	rsb	sp, r3, sp
	add	r3, sp, #8
	str	r3, [fp, #-320]
	.stabn 68,0,267,.LM100-fasload
.LM100:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #248]
	ldr	r0, [fp, #-308]
	ldr	r1, [fp, #-320]
	mov	lr, pc
	mov	pc, r3
	str	r0, [fp, #-316]
	.stabn 68,0,269,.LM101-fasload
.LM101:
	mov	r3, #0
	str	r3, [fp, #-312]
.L69:
	ldr	r2, [fp, #-312]
	ldr	r3, [fp, #-316]
	cmp	r2, r3
	bcc	.L72
	b	.L70
.L72:
.LBB3:
	.stabn 68,0,273,.LM102-fasload
.LM102:
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r3, [r3, #0]
	ldr	r0, .L88+80
	ldr	r1, [r3, #4]
	mov	r2, #5
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L73
	.stabn 68,0,274,.LM103-fasload
.LM103:
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r3, [r3, #0]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-284]
	.stabn 68,0,275,.LM104-fasload
.LM104:
	b	.L71
.L73:
	.stabn 68,0,278,.LM105-fasload
.LM105:
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r2, [r3, #0]
	mov	r3, #1
	str	r3, [sp, #0]
	ldr	r3, .L88+64
	ldr	r0, [r3, #72]
	ldr	r1, [r2, #4]
	mov	r2, #0
	mov	r3, #0
	bl	bfd_link_hash_lookup
	mov	r3, r0
	str	r3, [fp, #-340]
	ldr	r3, [fp, #-340]
	cmp	r3, #0
	bne	.L74
	.stabn 68,0,279,.LM106-fasload
.LM106:
	b	.L71
.L74:
	.stabn 68,0,281,.LM107-fasload
.LM107:
	ldr	r3, [fp, #-340]
	ldr	r3, [r3, #12]
	cmp	r3, #3
	beq	.L75
	.stabn 68,0,282,.LM108-fasload
.LM108:
	ldr	r0, .L88+84
	bl	FEerror
.L75:
	.stabn 68,0,284,.LM109-fasload
.LM109:
	ldr	r3, [fp, #-340]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L76
	.stabn 68,0,285,.LM110-fasload
.LM110:
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r0, [r3, #0]
	ldr	r3, [fp, #-340]
	ldr	r1, [r3, #24]
	ldr	r3, [fp, #-340]
	ldr	r2, [r3, #20]
	ldr	r3, [r1, #24]
	add	r3, r2, r3
	str	r3, [r0, #8]
	.stabn 68,0,286,.LM111-fasload
.LM111:
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r1, [r3, #0]
	ldr	r3, [fp, #-312]
	mov	r2, r3, asl #2
	ldr	r3, [fp, #-320]
	add	r3, r2, r3
	ldr	r3, [r3, #0]
	ldr	r3, [r3, #12]
	orr	r3, r3, #128
	str	r3, [r1, #12]
	b	.L71
.L76:
	.stabn 68,0,288,.LM112-fasload
.LM112:
	ldr	r0, .L88+88
	bl	FEerror
.LBE3:
	.stabn 68,0,269,.LM113-fasload
.LM113:
.L71:
	ldr	r3, [fp, #-312]
	add	r3, r3, #1
	str	r3, [fp, #-312]
	b	.L69
.L70:
	.stabn 68,0,292,.LM114-fasload
.LM114:
	ldr	r3, [fp, #-308]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-324]
.L78:
	ldr	r3, [fp, #-324]
	cmp	r3, #0
	bne	.L81
	b	.L79
.L81:
	.stabn 68,0,294,.LM115-fasload
.LM115:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #16]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L82
	.stabn 68,0,295,.LM116-fasload
.LM116:
	b	.L80
.L82:
	.stabn 68,0,297,.LM117-fasload
.LM117:
	ldr	r2, [fp, #-324]
	ldr	r3, .L88+68
	str	r2, [r3, #16]
	.stabn 68,0,301,.LM118-fasload
.LM118:
	ldr	r3, [fp, #-324]
	ldr	ip, [r3, #44]
	mov	r3, #0
	str	r3, [sp, #0]
	ldr	r3, [fp, #-320]
	str	r3, [sp, #4]
	ldr	r0, [fp, #-308]
	ldr	r1, .L88+64
	ldr	r2, .L88+68
	ldr	r3, [ip, #24]
	bl	bfd_get_relocated_section_contents
	mov	r3, r0
	cmp	r3, #0
	bne	.L80
	.stabn 68,0,303,.LM119-fasload
.LM119:
	ldr	r0, .L88+92
	bl	FEerror
	.stabn 68,0,292,.LM120-fasload
.LM120:
.L80:
	ldr	r3, [fp, #-324]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-324]
	b	.L78
.L79:
	.stabn 68,0,307,.LM121-fasload
.LM121:
	ldr	r3, [fp, #-308]
	ldr	r2, [r3, #8]
	ldr	r3, .L88+12
	str	r2, [r3, #4]
	.stabn 68,0,309,.LM122-fasload
.LM122:
	ldr	r0, [r3, #4]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L84
	.stabn 68,0,310,.LM123-fasload
.LM123:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L85
.L84:
	.stabn 68,0,312,.LM124-fasload
.LM124:
	ldr	r0, .L88+12
	bl	read_fasl_vector
	mov	r3, r0
	str	r3, [fp, #-24]
.L85:
	.stabn 68,0,314,.LM125-fasload
.LM125:
	ldr	r0, [fp, #-308]
	bl	bfd_close
.LBB4:
	.stabn 68,0,317,.LM126-fasload
.LM126:
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-340]
	ldr	r3, [fp, #-288]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-340]
	add	r3, r3, r2
	str	r3, [fp, #-344]
	ldr	r0, [fp, #-340]
	ldr	r1, [fp, #-344]
	mov	r2, #0
	swi 0x9f0002		@ sys_cacheflush
.LBE4:
	.stabn 68,0,320,.LM127-fasload
.LM127:
	ldr	r0, [fp, #-284]
	ldr	r1, [fp, #-288]
	ldr	r2, [fp, #-24]
	mov	r3, #0
	bl	call_init
	.stabn 68,0,322,.LM128-fasload
.LM128:
	ldr	r2, [fp, #-300]
	ldr	r3, .L88
	str	r2, [r3, #0]
	.stabn 68,0,323,.LM129-fasload
.LM129:
	ldr	r2, [fp, #-304]
	ldr	r3, .L88+4
	str	r2, [r3, #0]
	.stabn 68,0,325,.LM130-fasload
.LM130:
	ldr	r3, .L88+96
	ldr	r0, [r3, #0]
	bl	symbol_value
	mov	r2, r0
	ldr	r3, .L88+100
	cmp	r2, r3
	beq	.L87
	.stabn 68,0,326,.LM131-fasload
.LM131:
	ldr	r0, .L88+104
	ldr	r3, [fp, #-288]
	ldr	r1, [r3, #4]
	bl	printf
.L87:
	.stabn 68,0,328,.LM132-fasload
.LM132:
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #8]
	mov	r0, r3
.LBE2:
	.stabn 68,0,330,.LM133-fasload
.LM133:
	ldmea	fp, {r4, fp, sp, pc}
.L89:
	.align	2
.L88:
	.word	vs_base
	.word	vs_top
	.word	nbfd.0
	.word	dum.1
	.word	madd_archive_element
	.word	link_callbacks.2
	.word	mmultiple_definition
	.word	mmultiple_common
	.word	madd_to_set
	.word	mconstructor
	.word	mwarning
	.word	mundefined_symbol
	.word	mreloc_overflow
	.word	mreloc_dangerous
	.word	munattached_reloc
	.word	mnotice
	.word	link_info
	.word	link_order.3
	.word	.LC3
	.word	.LC4
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	sLAload_verboseA
	.word	Cnil_body
	.word	.LC11
.Lfe13:
	.size	fasload,.Lfe13-fasload
	.stabs	"data:(63,6)",128,0,170,-24
	.stabs	"filename:(77,2)=ar(2,167);0;255;(0,2)",128,0,171,-280
	.stabs	"init_address:(0,1)",128,0,172,-284
	.stabs	"memory:(63,6)",128,0,173,-288
	.stabs	"current:(0,1)",128,0,174,-292
	.stabs	"max_align:(0,1)",128,0,174,-296
	.stabs	"old_vs_base:(63,23)",128,0,175,-300
	.stabs	"old_vs_top:(63,23)",128,0,176,-304
	.stabs	"nbfd:V(0,1)",40,0,177,nbfd.0
	.stabs	"b:(2,24)",128,0,178,-308
	.stabs	"u:(0,4)",128,0,179,-312
	.stabs	"v:(0,4)",128,0,179,-316
	.stabs	"q:(77,3)=*(2,225)",128,0,180,-320
	.stabs	"s:(5,6)",128,0,181,-324
	.stabs	"the_start:(2,46)",128,0,182,-328
	.stabs	"start_address:(2,46)",128,0,182,-332
	.stabs	"m:(2,46)",128,0,182,-336
	.stabs	"dum:V(63,8)",40,0,183,dum.1
	.stabs	"link_callbacks:V(5,17)",40,0,184,link_callbacks.2
	.stabs	"link_order:V(2,65)",40,0,185,link_order.3
	.stabn	192,0,0,.LBB2-fasload
	.stabs	"h:(5,8)",128,0,271,-340
	.stabn	192,0,0,.LBB3-fasload
	.stabn	224,0,0,.LBE3-fasload
	.stabs	"v:(2,46)",128,0,317,-340
	.stabs	"ve:(2,46)",128,0,317,-344
	.stabs	"_beg:r(0,5)",64,0,317,0
	.stabs	"_end:r(0,5)",64,0,317,1
	.stabs	"_flg:r(0,5)",64,0,317,2
	.stabn	192,0,0,.LBB4-fasload
	.stabn	224,0,0,.LBE4-fasload
	.stabn	224,0,0,.LBE2-fasload
.Lscope12:
	.stabs	"",36,0,0,.Lscope12-fasload
	.stabs	"sfasli.c",130,0,0,0
	.data
	.align	2
.LC12:
	.ascii	"Cannot open self\n\000"
	.align	2
.LC13:
	.ascii	"I'm not an object\000"
	.align	2
.LC14:
	.ascii	"Cannot make hash table\000"
	.align	2
.LC15:
	.ascii	"Cannot add self symbols\n\000"
	.align	2
.LC16:
	.ascii	"Cannot get self's symtab upper bound\000"
	.align	2
.LC17:
	.ascii	"Cannot canonicalize self's symtab\000"
	.align	2
.LC18:
	.ascii	"@@GLIBC\000"
	.align	2
.LC19:
	.ascii	"Cannot make new hash entry\000"
	.align	2
.LC20:
	.ascii	"Symbol is missing section\000"
	.text
	.align	2
	.stabs	"build_symbol_table_bfd:F(0,1)",36,0,31,build_symbol_table_bfd
	.global	build_symbol_table_bfd
	.type	build_symbol_table_bfd,function
=============================================================================

Philip Blundell <pb@nexus.co.uk> writes:

> On Mon, 2002-06-17 at 07:05, Camm Maguire wrote:
> > Indeed, this does appear to be what the sequence Daniel suggested so
> > successfully for ppc does:
> > 
> > #define CLEAR_CACHE do {void *v=memory->cfd.cfd_start,*ve=v+memory->cfd.cfd_size; for (;v<ve;v+=32)   asm __volatile__ ("dcbst 0,%0\n\tsync\n\ticbi 0,%0\n\tsync\n\tisync": : "r" (v) : "memory");} while(0)
> > 
> > So I guess what I need to do is to try to collect the analogous
> > instructions on the other Debian architectures if possible.
> > 
> > Philip and Andreas, the revisiion you so helpfully suggested for arm
> > alas still does not work, with the same symptoms.  Can you please
> > point me to the arm versions if any of 'sync', i-cache invalidate, and
> > nop?
> 
> There is no direct analogue on arm -- sys_cacheflush is the only
> interface that's provided for cache flushing.  Obviously machine
> instructions to flush the cache do exist, but they vary from one
> cpu to another and can only be used in privileged mode.
> 
> Mail me the output of "gcc -S" for your function and I'll have a look at
> it.
> 
> p.
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> Gcl-devel@gnu.org
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah


-- 
To UNSUBSCRIBE, email to debian-arm-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: