Bug #18470 Compile Failure: strings.s fails make with multiple unknown pseudo-ops
Submitted: 23 Mar 2006 20:22 Modified: 20 Jul 2006 0:58
Reporter: Roy Johnson Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:4.1, 5.0.16 OS:MacOS (Mac OS X 10.4.5 (Intel Core Duo))
Assigned to: Chad MILLER CPU Architecture:Any

[23 Mar 2006 20:22] Roy Johnson
Description:
Making all in strings
gcc -c  -o strings-x86.o strings-x86.s
strings.s:27:Unknown pseudo-op: .type
strings.s:27:Rest of line ignored. 1st junk character valued 98 (b).
strings.s:48:Unknown pseudo-op: .size
strings.s:48:Rest of line ignored. 1st junk character valued 98 (b).
strings.s:54:Unknown pseudo-op: .type
strings.s:54:Rest of line ignored. 1st junk character valued 98 (b).
strings.s:76:Unknown pseudo-op: .size
strings.s:76:Rest of line ignored. 1st junk character valued 98 (b).
strings.s:82:Unknown pseudo-op: .type
strings.s:82:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:87:no such 386 instruction: `clrl'
strings.s:113:Unknown pseudo-op: .size
strings.s:113:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:120:Unknown pseudo-op: .type
strings.s:120:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:126:no such 386 instruction: `clrb'
strings.s:138:no such 386 instruction: `clrl'
strings.s:144:Unknown pseudo-op: .size
strings.s:144:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:151:Unknown pseudo-op: .type
strings.s:151:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:155:no such 386 instruction: `clrl'
strings.s:165:Unknown pseudo-op: .size
strings.s:165:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:172:Unknown pseudo-op: .type
strings.s:172:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:198:Unknown pseudo-op: .size
strings.s:198:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:206:Unknown pseudo-op: .type
strings.s:206:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:211:no such 386 instruction: `clrb'
strings.s:222:Unknown pseudo-op: .size
strings.s:222:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:227:Unknown pseudo-op: .type
strings.s:227:Rest of line ignored. 1st junk character valued 105 (i).
strings.s:243:Unknown pseudo-op: .size
strings.s:243:Rest of line ignored. 1st junk character valued 105 (i).
strings.s:249:Unknown pseudo-op: .type
strings.s:249:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:283:Unknown pseudo-op: .size
strings.s:283:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:290:Unknown pseudo-op: .type
strings.s:290:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:306:Unknown pseudo-op: .size
strings.s:306:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:313:Unknown pseudo-op: .type
strings.s:313:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:337:Unknown pseudo-op: .size
strings.s:337:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:344:Unknown pseudo-op: .type
strings.s:344:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:352:no such 386 instruction: `clrb'
strings.s:365:Unknown pseudo-op: .size
strings.s:365:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:369:Unknown pseudo-op: .type
strings.s:369:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:385:Unknown pseudo-op: .size
strings.s:385:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:388:Unknown pseudo-op: .type
strings.s:388:Rest of line ignored. 1st junk character valued 115 (s).
strings.s:417:Unknown pseudo-op: .size
strings.s:417:Rest of line ignored. 1st junk character valued 115 (s).
make[2]: *** [strings-x86.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

How to repeat:
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/data/wre/prereqs/mysql --with-extra-charsets=all --enable-thread-safe-client --enable-local-infile --disable-shared --enable-assembler --with-readline --without-debug --enable-largefile=yes
[23 Mar 2006 20:46] Chad MILLER
I've already discussed with Apple about their binary toolset.  Their response:

>> In GNU as, "clrl/clrb %reg" are aliased to "xorl/xorb %reg, %reg", so first I'd suggest using those opcodes instead.
>> I'd also guess that .type and .size lines can be #ifdef'd out on Darwin, since they aren't used by our object file format.

The first part makes sense to me, but the latter isn't as straightforward as it sounds.

For the immediate workaround, Roy, use the 'configure' flag to disable assembly.

Thank you for the bug report!
[16 Apr 2006 21:15] John Klos
There is no configure option to disable assembler use. There's "--enable-assembler", but no corresponding "--disable-assembler".
[16 Apr 2006 21:21] John Klos
My bad. The pkgsrc framework was adding "--enable-assembler" (I mistakenly thought it was enabled by default). Yes, MySQL 5.0.20 compiles and runs with that removed.
[12 Jul 2006 12:11] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/9086
[12 Jul 2006 14:26] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/9093
[12 Jul 2006 15:19] Timothy Smith
Patch looks good.
[12 Jul 2006 15:41] Chad MILLER
Applied to (global) 4.1.19 and (team tree) 5.0.24 .
[19 Jul 2006 23:01] Chad MILLER
Pushed to global tree some time in the last few days.
[19 Jul 2006 23:03] Chad MILLER
Note, I don't think this change requires any documentation.  We tried to use assembly code on x86 platforms, and it could fail.  Now, we test to see if we can compile it and if it fails then we fall-back silently to using C code.
[20 Jul 2006 0:47] Paul DuBois
No changelog entry needed.