summaryrefslogtreecommitdiff
path: root/utils/libmach/2obj.c
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
committerforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
commitd67b7dad77bb8aa973dad1f7c3ab0c309b114278 (patch)
tree6794120fb327d6de19cf05eed53f80d877781a3e /utils/libmach/2obj.c
parent09da2e137d5eb0c940df35d989e4c31ec0654fc4 (diff)
20100427-1251
Diffstat (limited to 'utils/libmach/2obj.c')
-rw-r--r--utils/libmach/2obj.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/utils/libmach/2obj.c b/utils/libmach/2obj.c
index 368e1ec7..ad3540b7 100644
--- a/utils/libmach/2obj.c
+++ b/utils/libmach/2obj.c
@@ -3,6 +3,7 @@
*/
#include <lib9.h>
#include <bio.h>
+#include <mach.h>
#include "2c/2.out.h"
#include "obj.h"
@@ -42,9 +43,12 @@ _read2(Biobuf *bp, Prog *p)
return 0;
as |= ((c & 0xff) << 8);
p->kind = aNone;
+ p->sig = 0;
if(as == ANAME || as == ASIGNAME){
- if(as == ASIGNAME)
- skip(bp, 4); /* signature */
+ if(as == ASIGNAME){
+ Bread(bp, &p->sig, 4);
+ p->sig = beswal(p->sig);
+ }
p->kind = aName;
p->type = type2char(Bgetc(bp)); /* type */
p->sym = Bgetc(bp); /* sym */