> VMWare - OpenBSD 3.2 , gcc 2.95.3
> 
> Got error when compiling 0.9.7 beta 6:
> 
> ----------------------
> 
> gcc -E -DOUT asm/dx86unix.cpp | as -o asm/dx86-out.o
> des-586.s: Assembler messages:
> des-586.s:2458: Error: Unimplemented segment type 135296 in
> parse_operand(.L009cbc_enc_jmp_table-.L008PIC_point(%edx))
> 
> ------------------
> 
> Any comments?

Would "VMware rules, OpenBSD sucks" do? :-):-)

Try to google for "Unimplemented segment type..." I find it amusing...
Q. "It chokes on $_GLOBAL_OFFSET_TABLE_+[.-Ltable]." Suggestion "use
--disable-shared." Q. "Can't compile the kernel." "This was fixed this
morning." Fixed exactly what? It looks like they just replaced offending
intruction with corresponding .byte codes!

What's that? Apparently it's a *recognized* bug in GNU assembler which
was fixed like *ages* ago!!! Why is it still in OpenBSD 3.2 released on
1st of Nov 2002? Who knows...

The relevant question of course is what happens now?

1. It's possible to replace offending instructions with corresponding
.byte codes. I don't even consider this as a viable solution. It would
be an incomprehensible kludge for an instruction with predefined
arguments.

2. Try to replace offending instruction with other instructions (mov and
add). The first quote above suggests that it wouldn't necessarily work
on 3.1. Not to mention that it might require changes that would affect
other platforms [most notably there seem to be no unified way to use
constant expressions in perlasm].

3. Strip assembler support for OpenBSD. I think they simply deserve
this. I mean if the reason for keeping out-of-date assembler is
"don't-fix-unless-*really*-broken," then wouldn't stripping the
assembler be most appropriate:-) Note that even though OpenBSD is not
ELF, it does provide for shared object modules and PIC is highly
relevant in its context.

4. Document this case and advise to either use no-asm or upgrade
assembler. Optionally it's possible to check for assembler version in
./config and pass no-asm automagically.

My vote is #4.

A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to