Bladeren bron

[build] Cope with oddities in the Fedora 10 assembler

The version of the GNU assembler shipped with Fedora 10
(2.18.50.0.9-8.fc10) complains about character literals in some of our
assembly code.  Changing $'x' to $( 'x' ) seems to fix the problem.
Yes, the whitespace is required; using just $('x') does not work.

Reported by Kevin O'Connor <kevin@koconnor.net>.
tags/v0.9.7
Michael Brown 15 jaren geleden
bovenliggende
commit
7bc4093e1a
3 gewijzigde bestanden met toevoegingen van 15 en 15 verwijderingen
  1. 5
    5
      src/arch/i386/prefix/libprefix.S
  2. 4
    4
      src/arch/i386/prefix/pxeprefix.S
  3. 6
    6
      src/arch/i386/prefix/romprefix.S

+ 5
- 5
src/arch/i386/prefix/libprefix.S Bestand weergeven

179
 	xchgb	%al, %ah
179
 	xchgb	%al, %ah
180
 	call	print_hex_byte
180
 	call	print_hex_byte
181
 	/* Print ":" */
181
 	/* Print ":" */
182
-	movb	$':', %al
182
+	movb	$( ':' ), %al
183
 	call	print_character
183
 	call	print_character
184
 	/* Print device */
184
 	/* Print device */
185
 	movb	%ah, %al
185
 	movb	%ah, %al
186
 	shrb	$3, %al
186
 	shrb	$3, %al
187
 	call	print_hex_byte
187
 	call	print_hex_byte
188
 	/* Print "." */
188
 	/* Print "." */
189
-	movb	$'.', %al
189
+	movb	$( '.' ), %al
190
 	call	print_character
190
 	call	print_character
191
 	/* Print function */
191
 	/* Print function */
192
 	movb	%ah, %al
192
 	movb	%ah, %al
214
 	pushw	%ax
214
 	pushw	%ax
215
 	pushw	%cx
215
 	pushw	%cx
216
 	/* Print CR */
216
 	/* Print CR */
217
-	movb	$'\r', %al
217
+	movb	$( '\r' ), %al
218
 	call	print_character
218
 	call	print_character
219
 	/* Print 79 spaces */
219
 	/* Print 79 spaces */
220
-	movb	$' ', %al
220
+	movb	$( ' ' ), %al
221
 	movw	$79, %cx
221
 	movw	$79, %cx
222
 1:	call	print_character
222
 1:	call	print_character
223
 	loop	1b
223
 	loop	1b
224
 	/* Print CR */
224
 	/* Print CR */
225
-	movb	$'\r', %al
225
+	movb	$( '\r' ), %al
226
 	call	print_character
226
 	call	print_character
227
 	/* Restore registers and return */
227
 	/* Restore registers and return */
228
 	popw	%cx
228
 	popw	%cx

+ 4
- 4
src/arch/i386/prefix/pxeprefix.S Bestand weergeven

65
 	movw	$10f, %si
65
 	movw	$10f, %si
66
 	call	print_message
66
 	call	print_message
67
 	call	print_segoff
67
 	call	print_segoff
68
-	movb	$',', %al
68
+	movb	$( ',' ), %al
69
 	call	print_character
69
 	call	print_character
70
 	jmp	99f
70
 	jmp	99f
71
 	.section ".prefix.data", "aw", @progbits
71
 	.section ".prefix.data", "aw", @progbits
103
 	movw	$10f, %si
103
 	movw	$10f, %si
104
 	call	print_message
104
 	call	print_message
105
 	call	print_segoff
105
 	call	print_segoff
106
-	movb	$',', %al
106
+	movb	$( ',' ), %al
107
 	call	print_character
107
 	call	print_character
108
 	jmp	99f
108
 	jmp	99f
109
 	.section ".prefix.data", "aw", @progbits
109
 	.section ".prefix.data", "aw", @progbits
191
 	call	print_message
191
 	call	print_message
192
 	movw	undi_fbms_start, %ax
192
 	movw	undi_fbms_start, %ax
193
 	call	print_word
193
 	call	print_word
194
-	movb	$'-', %al
194
+	movb	$( '-' ), %al
195
 	call	print_character
195
 	call	print_character
196
 	movw	undi_fbms_end, %ax
196
 	movw	undi_fbms_end, %ax
197
 	call	print_word
197
 	call	print_word
334
 	/* Print "<segment>:offset" */
334
 	/* Print "<segment>:offset" */
335
 	movw	%es, %ax
335
 	movw	%es, %ax
336
 	call	print_hex_word
336
 	call	print_hex_word
337
-	movb	$':', %al
337
+	movb	$( ':' ), %al
338
 	call	print_character
338
 	call	print_character
339
 	movw	%bx, %ax
339
 	movw	%bx, %ax
340
 	call	print_hex_word
340
 	call	print_hex_word

+ 6
- 6
src/arch/i386/prefix/romprefix.S Bestand weergeven

175
 	/* Fill in product name string, if possible */
175
 	/* Fill in product name string, if possible */
176
 	movw	$prodstr_pci_id, %di
176
 	movw	$prodstr_pci_id, %di
177
 	call	print_pci_busdevfn
177
 	call	print_pci_busdevfn
178
-	movb	$' ', prodstr_separator
178
+	movb	$( ' ' ), prodstr_separator
179
 
179
 
180
 	/* Print segment address */
180
 	/* Print segment address */
181
-	movb	$' ', %al
181
+	movb	$( ' ' ), %al
182
 	xorw	%di, %di
182
 	xorw	%di, %di
183
 	call	print_character
183
 	call	print_character
184
 	movw	%cs, %ax
184
 	movw	%cs, %ax
201
 	call	print_message
201
 	call	print_message
202
 	movb	%bh, %al
202
 	movb	%bh, %al
203
 	call	print_hex_nibble
203
 	call	print_hex_nibble
204
-	movb	$'.', %al
204
+	movb	$( '.' ), %al
205
 	call	print_character
205
 	call	print_character
206
 	movb	%bl, %al
206
 	movb	%bl, %al
207
 	call	print_hex_byte
207
 	call	print_hex_byte
224
 	cmpw	%bx, %ax
224
 	cmpw	%bx, %ax
225
 	jbe	1f
225
 	jbe	1f
226
 pci3_insane: /* PCI 3.0 with insane %gs value: print error and ignore %gs */
226
 pci3_insane: /* PCI 3.0 with insane %gs value: print error and ignore %gs */
227
-	movb	$'!', %al
227
+	movb	$( '!' ), %al
228
 	call	print_character
228
 	call	print_character
229
 	movw	%gs, %ax
229
 	movw	%gs, %ax
230
 	call	print_hex_word
230
 	call	print_hex_word
332
 	movw	%dx, %ax
332
 	movw	%dx, %ax
333
 	xorw	%di, %di
333
 	xorw	%di, %di
334
 	call	print_hex_word
334
 	call	print_hex_word
335
-	movb	$'@', %al
335
+	movb	$( '@' ), %al
336
 	call	print_character
336
 	call	print_character
337
 	movw	%si, %ax
337
 	movw	%si, %ax
338
 	call	print_hex_byte
338
 	call	print_hex_byte
366
 	 * loads us to a temporary location in low memory.  Will be a
366
 	 * loads us to a temporary location in low memory.  Will be a
367
 	 * no-op for lower PCI versions.
367
 	 * no-op for lower PCI versions.
368
 	 */
368
 	 */
369
-	movb	$' ', %al
369
+	movb	$( ' ' ), %al
370
 	xorw	%di, %di
370
 	xorw	%di, %di
371
 	call	print_character
371
 	call	print_character
372
 	movw	%gs, %ax
372
 	movw	%gs, %ax

Laden…
Annuleren
Opslaan