SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello.
Can anyone tell me how will Slackware 12 work on a 64bit architecture ?
I know is optimized for i486 ( i think i dont know for sure ), and there is NO official 64 bit edition of Slackware.
Distribution: Solaris 10, Solaris Express Community Edition
Posts: 547
Rep:
Quote:
Depends pretty much on use but for desktop systems I'd go with Slackware.
Solaris is better suited for server systems.
That's roughly, perhaps, a typical gnu/linux user first impression on Solaris. Nonetheless, Solaris Express Developer Edition is a viable alternative for a user desktop.
The main "problem" a power user will tipically undergo is related to Linuxisms, GNUisms and GCCisms of many source packages which aren't as portable as they claim to be.
The main reasons I'm using solaris today are:
- I'm a Java architect, and Solaris is my developer's platform of choice
- I use it as the OS of my server at home. I could do it with slackware, of course, but incidentally I use Sun hardware, which is another good reason to stick with solaris.
Bye,
Enrico.
Last edited by crisostomo_enrico; 08-22-2007 at 03:29 AM.
Im a bit confused about 64 bit processors. I have a Intel Core 2 Duo on my laptop, which I think has some 64 bit registers, but can run 32 software in an emulation mode. I am running slackware right now, so does this mean I am not using the full potential of my processor? And if my processor is 64-bit, how come I only get 4 byte long ints in C?
Distribution: Solaris 10, Solaris Express Community Edition
Posts: 547
Rep:
Review the C standards for complete information.
The short story: use a long long int, which introduces the requirement of 64 bits as minimum size.
The long story:
A signed int can hold all the values between INT_MIN and INT_MAX inclusive. INT_MIN is required to be -32767 or less, INT_MAX must be at least 32767. Again, many 2's complement implementations will define INT_MIN to be -32768 but this is not required.
An unsigned int can hold all the values between 0 and UINT_MAX inclusive. UINT_MAX must be at least 65535. The int types must contain at least 16 bits to hold the required range of values.
On compilers for 8 and 16 bit processors an int is usually 16 bits and has exactly the same representation as a short. On compilers for 32 bit and larger processors an int is usually 32 bits long and has exactly the same representation as a long.
A signed long can hold all the values between LONG_MIN and LONG_MAX inclusive. LONG_MIN is required to be -2147483647 or less, LONG_MAX must be at least 2147483647. Again, many 2's complement implementations will define LONG_MIN to be -2147483648 but this is not required.
An unsigned long can hold all the values between 0 and ULONG_MAX inclusive. ULONG_MAX must be at least 4294967295. The long types must contain at least 32 bits to hold the required range of values.
On many (but not all) C and C++ implementations, a long is larger than an int. Today's most popular desktop platforms, such as Windows and Linux, run primarily on 32 bit processors and most compilers for these platforms use a 32 bit int which has the same size and representation as a long.
A signed long long can hold all the values between LLONG_MIN and LLONG_MAX inclusive. LLONG_MIN is required to be -9223372036854775807 or less, LLONG_MAX must be at least 9223372036854775807. Again, many 2's complement implementations will define LLONG_MIN to be -9223372036854775808 but this is not required.
An unsigned long long can hold all the values between 0 and ULLONG_MAX inclusive. ULLONG_MAX must be at least 18446744073709551615. The long types must contain at least 64 bits to hold the required range of values.
Distribution: Solaris 10, Solaris Express Community Edition
Posts: 547
Rep:
Quote:
I am running slackware right now, so does this mean I am not using the full potential of my processor?
Short short answer: yes. But consider that both the OS and each and every application must be 64 bit aware to fully use the "full portential" of the processor. More or less the same story for every couple (appliance, driver).
I never run a 32 bit OS and applications on a 64 bit CPU, but readings suggests that in mosts of the case they will run smoother than on a 32 bit CPU so: you're not "losing" anything. If changing to a 64 bit port of slackware 12.0 would give you an observable performance gain, I can't tell.
Bye,
Enrico.
Last edited by crisostomo_enrico; 08-27-2007 at 08:25 PM.
Im a bit confused about 64 bit processors. I have a Intel Core 2 Duo on my laptop, which I think has some 64 bit registers, but can run 32 software in an emulation mode. I am running slackware right now, so does this mean I am not using the full potential of my processor? And if my processor is 64-bit, how come I only get 4 byte long ints in C?
The size of an int doesn't change on x86_64; ints are still 32-bits. x86_64 speeds up operations on larger data types. The most important datatype with a different size is a pointer; on x86, they fit in an int - on x86_64 they don't (although you shouldn't cast a pointer to an int anyway) - in a 64-bit environment, a long is 64-bits, so is suitable.
Anyway, if you want variables of a certain size, the best way isn't to look for guaranteed minimum sizes of certain types - instead, use the portable typedefs from inttypes.h, for example:
intptr_t - always big enough for a pointer. This is an int on x86, a long on x86_64
int64_t - a 64-bit integer, regardless of platform
int32_t - a 32-bit integer
uint32_t - an unsigned 32-bit integer
Distribution: Solaris 10, Solaris Express Community Edition
Posts: 547
Rep:
Quote:
The size of an int doesn't change on x86_64; ints are still 32-bits.
Quote:
Anyway, if you want variables of a certain size, the best way isn't to look for guaranteed minimum sizes of certain types - instead, use the portable typedefs from inttypes.h
That's true, but I wanted to stress something that too often is forgotten: the C specification(s) define(s) minimum sizes: so int "isn't" a 32 bit entity, at least without specifying platform and compiler (which in this case weren't specified).
Thanks. I just put "typedef unsigned long long Huge" at the top, thats as big as ill ever want. (btw the problem was calculating Fibonacci numbers for n > 46, when ordinary int overflows). Slackware is great for programming, all the shells, gcc, common lisp, python, perl out of the box and java in extras. Windows just doesnt compare for that stuff.
I had run slamd64 from 10.1 to 10.2 and
now I am running Bluewhite64-12.0, I compiled
gnome using Slackbot-0.6.4.1-saturn build
scripts. It run smooth, I can almost do all
what I want.
Board: Asus A8V Deluxe
Video card: Nvidia GeForce 4
Memory: 1 Gig Ram
Richard
Note: You cannot run all your favorite programs
that normally run in 32bits mode... But some
of them.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.