Skip to content

Commit

Permalink
fix macho64 sym without seg
Browse files Browse the repository at this point in the history
  • Loading branch information
john-terraspace committed Jan 1, 2018
1 parent 20399f4 commit ae0cc24
Show file tree
Hide file tree
Showing 9 changed files with 68 additions and 61 deletions.
7 changes: 7 additions & 0 deletions assemble.c
Expand Up @@ -1173,6 +1173,13 @@ static int OnePass( void )
InitAutoMacros64();
ModuleInfo.list = alist;
}
if (Parse_Pass == PASS_1)
{
unsigned alist = ModuleInfo.list;
ModuleInfo.list = 0;
AddSimdTypes();
ModuleInfo.list = alist;
}

#if FASTPASS
StoreState = FALSE;
Expand Down
10 changes: 6 additions & 4 deletions macho64.c
Expand Up @@ -321,12 +321,14 @@ Return MachO section index, based on original source segment name.
static int GetSectionIdx(struct asym *seg, struct macho_module *mm)
{
struct macho_section_entry *curr = NULL;

for (curr = mm->sections; curr; curr = curr->next)
if (seg)
{
if (strcmp(seg->name, curr->srcName) == 0)
for (curr = mm->sections; curr; curr = curr->next)
{
return(curr->idx);
if (strcmp(seg->name, curr->srcName) == 0)
{
return(curr->idx);
}
}
}
return(0);
Expand Down
Binary file modified regress/exp/macho64/osx1.o
Binary file not shown.
Binary file modified regress/exp/macho64/osx2.o
Binary file not shown.
52 changes: 0 additions & 52 deletions regress/result/avx512.err

This file was deleted.

Binary file removed regress/result/avx_3.BIN
Binary file not shown.
55 changes: 52 additions & 3 deletions regress/result/avx_to_512.err
@@ -1,3 +1,52 @@
..\src\avx512\avx_to_512.asm(154) : Error A2183: Instruction operand must have size
..\src\avx512\avx_to_512.asm(158) : Error A2183: Instruction operand must have size
..\src\avx512\avx_to_512.asm(162) : Error A2183: Instruction operand must have size
..\src\avx512\avx_to_512.asm(9) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(10) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(11) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(12) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(13) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(14) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(15) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(16) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(17) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(18) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(19) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(20) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(21) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(22) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(23) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(24) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(25) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(26) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(27) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(28) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(29) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(30) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(31) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(32) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(33) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(34) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(35) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(36) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(37) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(38) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(39) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(40) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(41) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(42) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(43) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(44) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(45) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(46) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(47) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(48) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(49) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(50) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(51) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(52) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(53) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(54) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(55) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(56) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(57) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(58) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(59) : Error A2210: Syntax error: evex
..\src\avx512\avx_to_512.asm(59) : Fatal error A1113: Too many errors
2 changes: 0 additions & 2 deletions regress/result/avxerr1.err

This file was deleted.

3 changes: 3 additions & 0 deletions simd.c
Expand Up @@ -8,6 +8,9 @@ and their sub-types

#include "simd.h"

extern void AddLineQueue(const char *line);
extern void AddLineQueueX(const char *fmt, ...);

void AddSimdTypes()
{
AddLineQueue("__m128b struct");
Expand Down

0 comments on commit ae0cc24

Please sign in to comment.