At least OpenBSD implements PIC in the same way ELF does.
authorAndy Polyakov <appro@openssl.org>
Thu, 9 Jan 2003 16:06:09 +0000 (16:06 +0000)
committerAndy Polyakov <appro@openssl.org>
Thu, 9 Jan 2003 16:06:09 +0000 (16:06 +0000)
crypto/perlasm/x86unix.pl

index 6652eb8..23a389f 100644 (file)
@@ -566,13 +566,13 @@ sub main'picmeup
 ___
                push(@out,$tmp);
                }
-       elsif ($main'pic && $main'elf)
+       elsif ($main'pic && ($main'elf || $main'aout))
                {
                push(@out,"\t.align\t8\n");
                &main'call(&main'label("PIC_me_up"));
                &main'set_label("PIC_me_up");
                &main'blindpop($dst);
-               &main'add($dst,"\$_GLOBAL_OFFSET_TABLE_+[.-" .
+               &main'add($dst,"\$$under"."_GLOBAL_OFFSET_TABLE_+[.-".
                                &main'label("PIC_me_up") . "]");
                &main'mov($dst,&main'DWP($sym."\@GOT",$dst));
                }