LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Wrong optimizations for Slackware current? (https://www.linuxquestions.org/questions/slackware-14/wrong-optimizations-for-slackware-current-401987/)

MS3FGX 01-11-2006 07:07 AM

Wrong optimizations for Slackware current?
 
I had a very odd experience this evening, and I am starting to wonder if there may have been a mistake made in Slackware current.

I was installing Slackware 10.2 on an AMD K6 laptop I have (I have had Slackware installed on this machine a few times in the past), and got it installed without a problem. I went ahead and compiled 2.6.10 (yes, there is a reason I am using this specific version) and got that installed without any complications.

At this point, I got ready to sync up to Slackware current, something I have done on all of my machines. I followed the protocol to the letter, switching to runlevel 1, and installing glibc before anything else.

Which is where the problem started. After I installed the glibc packages, I went back into runlevel 3 and began the downloads to sync up with current. Unfortunately, as soon as I attempted to install the first package, I realized something went terribly wrong. Using installpkg came back with "Illegal Instruction". I then tried all of the other pkgtool programs, with the same result for all. Throwing a few random commands at the system, I also found a few other programs came back at me with the same error.

Now, I am running the exact same version of the glibc packages on my desktop as I type this. The only thing different between these setups is the CPU. The "Illegal Instruction" error would also seem to indicate a problem with running the glibc library on my CPU.

The bottom line is that the glibc packages should be compiled for i486, but would appear to be optimized for something higher than a K6. I was wondering if anyone else has attempted installing the glibc packages from current on a relatively old CPU and if they had any problems?

ugenn 01-11-2006 07:45 AM

I'm not familiar with Slack so someone who is feel free to correct me, but most distros tend to arch optimise glibc as it's one of those packages which do benefit from the optimisation. Make sure you are indeed running the 486 build of glibc.

MS3FGX 01-11-2006 07:51 AM

It is definately the i486 version. That is sort of the problem here, all of the Slackware packages are supposed to be i486 or i386 to keep the system requirements as low as possible.

MS3FGX 01-11-2006 07:53 AM

Also, the 10.2 versions of the glibc packages are compiled for i486 as well, which makes the whole situation more confusing.

gnashley 01-11-2006 03:00 PM

This won't help the original poster, but thought I would point out:
'supposed to be i486 or i386 to keep the system requirements as low as possible'

LFSH standards require i486 compatibilty.

Alien Bob 01-12-2006 02:04 PM

The AMD K6 is supposed to be i686 compatible. Slackware builds for the i486 architecture, and the compiler flags that Slackware uses for ARCH=i486 have always (?) been
Code:

"-O2 -march=i486 -mcpu=i686"
... until december.

Now, the newest glibc package in slackware-current, the one you upgraded to, uses
Code:

"-O3 -march=i486 -mtune=i686"
as compiler flags, which is explained in the ChangeLog entry of "Sat Dec 10 23:28:42 CST 2005" for the "d/gcc-3.4.4-i486-2.tgz" package.

This could be the cause of your problems with the K6, but as I am not a compiler guy I can only point out the difference in package builds and not provide you with the answer.
Hopefully others who read this can comment further on my observation.

Eric

Woodsman 01-12-2006 02:36 PM

I don't know if my experience is related, but I have a 400 MHz K6-III+ installed in my first box, having replaced the original Pentium-MMX. I have not tried this since my first failures, but about a year ago I tried compiling the 2.4 kernel specifically for the K6. I wasn't trying to tweak the gnat's ass, just experimenting to learn, but the compile with the K6 option never took. I ended up compiling for a generic i586. I shrugged and went on with life.

MS3FGX 01-12-2006 08:23 PM

Thanks for everyone's response on this. I have since found that my assumption about the build optimization was correct, I was just wrong about the package in question.

The current glibc packages are indeed optimized for i486 as they should be. The package that was giving me the problem was actually bash. I figured this out after booting into a LiveCD and manually replacing the latest glibc packages with their 10.2 counterparts to no avail, and then noticing that you could not login to the machine after the reboot because bash could not be started to give me a prompt.

Now, as for bash being compiled with too high of optimizations, that is embarrassingly enough my own fault. I had compiled the package on my desktop and rync'd the resulting package to my other machines as I have a tendency to do, and simply forgot about the CPU issue. The K6 is supposed to be i686 compatible, but this is not the first i686 compiled binary it has choked on for me.

So, syncing up to Slackware -current did not break the machine, my own package did. That's what I get for foolishly trying to improve on Pat's work.


All times are GMT -5. The time now is 06:02 AM.