- Notifications
You must be signed in to change notification settings - Fork4.9k
Commitb5a22d8
committed
Fix s_lock.h PPC assembly code to be compatible with native AIX assembler.
On recent AIX it's necessary to configure gcc to use the native assembler(because the GNU assembler hasn't been updated to handle AIX 6+). Thiscaused PG builds to fail with assembler syntax errors, because we'd tryto compile s_lock.h's gcc asm fragment for PPC, and that assembly coderelied on GNU-style local labels. We can't substitute normal labelsbecause it would fail in any file containing more than one inlined use oftas(). Fortunately, that code is stable enough, and the PPC ISA is simpleenough, that it doesn't seem like too much of a maintenance burden to justhand-code the branch offsets, removing the need for any labels.Note that the AIX assembler only accepts "$" for the location counterpseudo-symbol. The usual GNU convention is "."; but it appears that allversions of gas for PPC also accept "$", so in theory this patch will notbreak any other PPC platforms.This has been reported by a few people, but Steve Underwood gets the creditfor being the first to pursue the problem far enough to understand why itwas failing. Thanks also to Noah Misch for additional testing.1 parentbbe6d23 commitb5a22d8
1 file changed
+10
-6
lines changedLines changed: 10 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
410 | 410 |
| |
411 | 411 |
| |
412 | 412 |
| |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
413 | 419 |
| |
414 | 420 |
| |
415 | 421 |
| |
| |||
420 | 426 |
| |
421 | 427 |
| |
422 | 428 |
| |
423 |
| - | |
| 429 | + | |
424 | 430 |
| |
425 | 431 |
| |
426 |
| - | |
427 |
| - | |
428 |
| - | |
429 |
| - | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
430 | 435 |
| |
431 | 436 |
| |
432 |
| - | |
433 | 437 |
| |
434 | 438 |
| |
435 | 439 |
| |
|
0 commit comments
Comments
(0)