This article is part of the FAQ series.
General Portage Wiki
Warning: THIS PAGE IS FOR SAFE FLAGS ONLY.

Please do not include any flags that aren't 100% safe. Just because it works for you doesn't mean it will for everyone else.

We aren't interested in benchmark scores, personal anecdotes, rumors, things your really smart uncle once told you, random -m flags that made your box dispense root beer, or any other discussion or debate. It will be removed. Take it to the talk page or the appropriate forum. Thanks.


Note: GCC 4.2 introduces a new -march option, -march=native, which automatically detects the features your CPU supports and sets the options appropriately. If you have an Intel or AMD CPU and are using >=sys-devel/gcc-4.2.0, using -march=native is recommended. Do NOT use -march=native if you use distcc on nodes with different architectures as this may produce unusable code.


Contents

[hide]

[edit] Safe CFLAGS to use for Gentoo

These CFLAGS are for gcc 3.x and 4.x. To check your version:

gcc --version

You can see which CPU you have with the following command:

cat /proc/cpuinfo

If you're running Intel, you can also use x86info to get more detailed info about your chip:

emerge -av x86info

This page is for those who don't want to experiment, and want a stable system, but still optimized for their CPU. But remember, by using these flags, binaries from your system might not work on another one with a different CPU. So if you compiled with optimizations for a Pentium 4 (-march=pentium4), you can't share a hard disk or packages with a friend who only has a Pentium MMX (-march=pentium-mmx). Though the other way around should work, see below.

This is the case if you are using the -march flags. If you use -mtune instead without any -march option, your binaries are backward compatible down to i386, but the scheduling is optimized for your choosen architecture. CPUs are also backward compatible so if you update your system with a new CPU you can still use your old packages. There is one exception though; if your old CPU supports a feature, like AMD's 3dnow, that your new CPU doesn't. So if you have an athlon (-march=athlon) and upgrade to a pentium4 your old packages might not work. You can mix -march and -mtune if you, for example, would like to create binaries that would run on any i686 but are optimized for a pentium4. This would be accomplished by using -march=i686 and -mtune=pentium4.

Note that -O2 is regarded as safer than "-O3", and "-O3" can often be a counter-productive attempt at optimization. On computers with limited cache and/or memory, "-Os" may provide better performance in some cases through smaller binaries, although it is slower when using the OpenSSL library with small keys (DSA keys with less than 2048 bits on VIA C3-2, 1200 MHz and 64 kb on-die cache).

Note: This is only true if the platform has unusually fast unaligned access capability since -Os disables some alignment. A better solution is "-O2 -fno-reorder-blocks -fno-reorder-functions"

Please note that all the CFLAGS below look like they have a lowercase O. It really is an uppercase O. If you enter a lowercase O in your CFLAGS, then you will break your Portage and you won't be able to install anything. If you see the following error in your emerge output, than it could point to this problem.

checking whether the C compiler works... configure: error: cannot run C compiled programs.

GCC has a number of flags for CPU features like MMX and SSE; -mmx -msse etc. They are implied if you use a correct -march option so you usually don´t need them, with some exceptions. They should not be confused with the similar USE-flags for CPU features. The flag -mfpmath=sse however is not enabled by -march but it usually makes binaries slower due to limitations in the glibc headers. So it's better to not use this flag, even if you have an SSE capable CPU. Also -mfpmath=sse,387 is experimental and unstable.

The flag -fomit-frame-pointer is enabled at -O1, -O2, -O3 and -Os on arches where it doesn't interfere with debugging, such as AMD64, but not x86. So if you're on x86 you should add it to your CFLAGS. Also don't use -momit-leaf-frame-pointer together with -fomit-frame-pointer. It's pointless as -fomit-frame-pointer already omits all frame pointers. In fact if you use both, -momit-leaf-frame-pointer overrides -fomit-frame-pointer creating less optimized code.

If you are, or plan on becoming a programmer/developer, then DO NOT use the -fomit-frame-pointer or -O3 flag as this can make debugging impossible, or at least a lot harder (especially on x86 machines).

This is also important if you find a program with a bug in, which you wish to report. Before you submit a bug report, compile with just "-O2 -march=i686 -pipe" and without "-fomit-frame-pointer" (see http://bugs.gentoo.org/show_bug.cgi?id=68282 for an explanation.) Basically the frame-pointer is needed for stack traces.

[edit] gcc-4.2.0 or newer

If you are using gcc-4.2.0 or newer it is easiest and probably best to just use:

-march=native or -mtune=native.

E.g.:

32-bit

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64-bit

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] i386

Note: Gentoo's minimum hardware requirement for x86 CPUs is the i486. This is due to glibc-2.4 dropping linuxthreads support and requiring NPTL which doesn't work on i386.


If you would like to use a newer machine (eg. a Pentium III) to compile code that will still run on i386 machines use the following:

CHOST="i386-pc-linux-gnu"
CFLAGS="-mtune=pentium3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

or

CHOST="i386-pc-linux-gnu"
CFLAGS="-march=i386 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

The former will create code optimized for a PIII that will still run on a i386, while the latter will be optimized for the i386 alone.

[edit] i486

CHOST="i486-pc-linux-gnu"
CFLAGS="-march=i486 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Intel Processors

[edit] Pentium

vendor_id : GenuineIntel
cpu family : 5
model : 2
model name : Pentium 75 - 200

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Pentium w/ MMX

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Cyrix MediaGX / AMD Geode GX1

CFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Pentium Pro

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentiumpro -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

or

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

(these are identical)

[edit] Pentium II

vendor_id : GenuineIntel
cpu family : 6
model : 3, 5

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 6
model name      : Mobile Pentium II
stepping        : 10
cpu MHz         : 397.082
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr
bogomips        : 794.75
clflush size    : 32

[edit] Celeron (Mendocino), aka Celeron1

vendor_id : GenuineIntel
cpu family : 6
model : 6
stepping : 0

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 6
model name      : Celeron (Mendocino)
stepping        : 0
cpu MHz         : 334.108
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr up
bogomips        : 686.94
clflush size    : 32

[edit] Pentium III

vendor_id : GenuineIntel
cpu family : 6
model : 7, 8

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 863.934
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1728.97
clflush size    : 32

[edit] Celeron (Coppermine)

vendor_id  : GenuineIntel
cpu family  : 6
model  : 8
stepping  : 10

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Celeron (Willamette)

vendor_id  : GenuineIntel
cpu family  : 15
model  : 1
model name  : Intel(R) Celeron(R) CPU 1.70GHz
stepping  : 3

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Pentium M(Centrino)/Celeron M

vendor_id  : GenuineIntel
cpu family  : 6
model  : 9 or 13
model name  : Intel(R) Pentium(R) M processor XXXXMHz

For gcc 3.3 or older (Warning: dev-java/sun-jdk needs old libstdc++-3.3.so on X86 Systems) :

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -msse2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

For gcc 3.4 and later:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

The Celeron M is based on the Pentium M but it has half the L2 cache and does not support the SpeedStep technology.

[edit] Mobile Pentium 4-M (Northwood)

vendor_id  : GenuineIntel
cpu family  : 15
model  : 2
model name  : Mobile Intel(R) Pentium(R) 4 - M CPU X.XXGHz

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Pentium 4

vendor_id  : GenuineIntel
cpu family  : 15
model  : 0 or 1 or 2
model name  : Intel(R) Pentium(R) 4 CPU XXXXMHz

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Pentium 4 (Prescott) / Celeron D

vendor_id : GenuineIntel
cpu family : 15
model : 3 or 4
model name  : Intel(R) Pentium(R) 4 CPU XXXGHz -or- Intel(R) Celeron(R) CPU XXXGHz

32-bit profile (x86)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64-bit profile (amd64)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Note: You can verify the chip is a Prescott by looking for pni in the flags section of /proc/cpuinfo. This indicates support for SSE3.

In 2004, Intel started branding processors with the Prescott core as Intel Celeron D.

[edit] Pentium D 8xx / 9xx

vendor_id : GenuineIntel
cpu family : 15
model  : 4, 6
model name  : Intel(R) Pentium(R) D CPU x.xxGHz

32-bit profile (x86)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64-bit profile (amd64)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Xeon w/o EM64T

vendor_id  : GenuineIntel
cpu family  : 15
model  : 2
model name  : Intel(R) Xeon(R) CPU XXXXMHz

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Xeon w/EM64T (also Pentium 4 P6xx)

vendor_id  : GenuineIntel
cpu family  : 15
model  : 4, 6
model name  : Intel(R) Xeon(R) CPU XXXXMHz

32-bit profile (x86)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64-bit profile (amd64)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Intel Core Solo/Duo, Pentium Dual-Core Txxxx

vendor_id  : GenuineIntel
cpu family  : 6
model  : 14
model name  : Genuine Intel(R) CPU TXXXX @ XXXGHz

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Notes:

  • It has been confirmed by hongjiu.lu@intel.com that prescott is the correct microarchitecture to use with this CPU. http://article.gmane.org/gmane.comp.gcc.devel/83870
  • The newer (eg. 420) Celeron-M processors are Core Solo based, not Pentium-M based. If your processor's family and model are 6 and 14, then you should use the -march=prescott option.

[edit] Intel Core 2 Duo/Quad / Xeon 51xx/53xx, Pentium Dual-Core Exxxx

vendor_id  : GenuineIntel
cpu family  : 6
model  : 15
model name  : Intel(R) Core(TM)2 CPU XXXX @ XXXGHz

32 bit profile (x86)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"

Note:

  • GCC 4.3 has -march=core2[1], but Gentoo has nothing above 4.2 in portage.

[edit] VIA Processors

Note: EPIA is the name of all VIA's mini-ITX and nano-ITX motherboards with onboard VIA processor. Eden is low-power CPU variant, this name itself also does not tell anything about CPU core.


[edit] Esther C5J (Via C7)

vendor_id  : CentaurHauls
cpu family  : 6
model  : 10
model name  : VIA Esther processor 2000MHz

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -mmmx -msse -msse2 -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

As the C7 has the pni flag in /proc/cpuinfo, it supports SSE3. Search for pni on this page to get the explanation.

[edit] C3 Nehemiah (C5X/C5XL/C5P) (VIA)

vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah

Note: Despite the C5 core name, these processors are marketed as C3s.

GCC 3.3 and earlier

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -msse -mmmx -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

GCC 3.4 and later

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=c3-2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Note: These cores do support the cmov instruction and hence are supported by i686 - and of course c3-2. If you must be compatible with all VIA C3 versions, do not use the settings in this section and instead use the flags in the C3 entry below.


[edit] C3 Samuel/Ezra (Via EPIA)

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=c3 -m3dnow -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Warning: Do not use any stages or packages containing i686 instructions (such as cmov) with the Samuel 2 and Ezra versions of the C3.

The Ezra doesn't have any special instructions that you could optimize for, just consider it a K6-3 - basically a Pentium 2 with 3DNow.

Note: The Mini-ITX EPIA-SP features a VIA C3 Eden processor, even if /proc/cpuinfo answers: model name: VIA Nehemiah


[edit] Transmeta Processors

[edit] Transmeta Crusoe

vendor_id  : GenuineTMx86
cpu family  : 6
model  : 4
model name  : Transmeta(tm) Crusoe(tm) Processor TM5800
stepping  : 3

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -Os -mmmx -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Transmeta Efficeon

vendor_id  : GenuineTMx86
cpu family  : 15
model  : 2
model name  : Transmeta Efficeon(tm) Processor TM8000
stepping  : 4

CHOST="i686-pc-linux-gnu"
CFLAGS="-mtune=pentium3 -msse2 -O2 -pipe -falign-functions=0 -falign-jumps=0 -falign-loops=0"
CXXFLAGS="${CFLAGS}"

Note: The Efficeon processor will reorder and realign instructions on translating from x86 to VLIW (Very Long Instruction Word), so not aligning functions/jumps/loops will produce smaller executable without any effect on speed.

[edit] AMD Processors

[edit] K6 (AMD)

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] K6-2 (AMD)

vendor_id  : AuthenticAMD
cpu family  : 5
model  : 8

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 8
model name      : AMD-K6(tm) 3D processor
stepping        : 12
cpu MHz         : 451.031
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr up
bogomips        : 902.84
clflush size    : 32

Note: /proc/cpuinfo may be confusing. The model name may say "AMD-K6(tm) 3D Processor" but it is not a AMD K6-3. Rely on the vendor_id, CPU family, and model number.
Note: If you get "Illegal Instruction" errors on compiles (especially long ones), you may be running into a cooling problem, or worse yet, a Sig11 (segmentation fault/bad ram) problem. Bug #24379 has a discussion about it.

[edit] Geode LX (AMD)

vendor_id  : AuthenticAMD
cpu family  : 5
model  : 10

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -Os -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] K6-3 (AMD)

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Duron (AMD)

From 600 to 900 MHz (these models have a tbird-alike core model)

product: AMD Duron(tm) Processor version: 6.3.1

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Mobile Duron (AMD)

vendor_id : AuthenticAMD
cpu family : 6
model : 3
model name : AMD Duron(tm) Processor

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Duron Morgan (AMD)

From 900 to 1300 MHz
The Morgan Durons are based on the Palomino core, and hence can be treated as Athlon XP's.

vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(tm) Processor
stepping : 1

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Athlon (AMD)

vendor_id : AuthenticAMD
cpu family : 6
model : 4 or 2 or 1
model name : AMD Athlon(TM)Processor or AMD-K7(TM)Processor
stepping : 4 or 2
note: This processor is only available as a Slot A processor; if you have a Socket A/462 Athlon, it's a Thunderbird (see below)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Athlon-tbird (AMD)

vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) Processor

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Athlon-tbird XP/Duron (AMD)

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 8
model name  : AMD Athlon(tm)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Sempron 2400+ (2000MHz) is also identified as cpu family:6 model:8 model_name:AMD Sempron(TM) 2400+ (256kB cache) The Duron 1800+ is also included in this list.

[edit] Athlon 4 (AMD)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Athlon XP/Geode NX (AMD)

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 6
stepping  : 2
Some CPUs have also been observed with the following:
model : 10
model name : AMD Athlon(tm) XP 2500+
stepping : 0

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) XP 2000+
stepping        : 2
cpu MHz         : 1670.597
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
bogomips        : 3343.54
# cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 8
model name      : AMD Geode NX 1750  
stepping        : 1
cpu MHz         : 1400.115
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow up ts fid vid
bogomips        : 2801.55
clflush size    : 32

[edit] Athlon MP (AMD)

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 10
model name  : AMD Sempron(tm)
stepping  : 0

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-mp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Athlon 64 (AMD)

32 bit

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit
cpu family  :15
model  :4
model name  :AMD Athlon(tm) 64 Processor 3200+
stepping  :8

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 63
model name      : AMD Athlon(tm) 64 Processor 3200+
stepping        : 2
cpu MHz         : 1999.821
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm
bogomips        : 4001.79
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

[edit] Athlon 64 X2 (AMD)

vendor_id: AuthenticAMD
cpu family: 15
model: 35, 43, or 75
stepping: 1 or 2
model name: AMD Athlon(tm) 64 X2 Dual Core Processor


32 bit

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

If you have a newer Athlon64("Venice" or "San Diego")/Athlon64-X2("Manchester", "Toledo", or "Windsor") (check for pni in cat /proc/cpuinfo) you can also add -msse3 to your CFLAGS to enable SSE3 support. Any chip using the 90nm process except for the "Winchester" class Athlon64 supports SSE3.

Also bear in mind that all Athlon64 X2 and Opteron 165, 170, 175, 180, and 185 processors are dual-core CPUs so make sure that you use MAKEOPTS="-j3" in your make.conf. This doesn't affect the code but might reduce compile times.

All socket AM2 processors are SSE3 capable as well.

[edit] 1xx Opteron (AMD)

vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(tm) Processor 1xx
stepping : 8

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"
socket 939
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 39
model name      : AMD Opteron(tm) Processor 144
stepping        : 1
cpu MHz         : 1800.000
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm
bogomips        : 3593.50
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

[edit] 2xx/8xx Opteron (AMD)

vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(tm) Processor xxx
stepping : 8

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] 22xx Dual-Core Opteron (AMD)

vendor_id : AuthenticAMD
cpu family : 15
model : 65
model name : Dual-Core AMD Opteron(tm) Processor 22xx
stepping : 2

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 65
model name      : Dual-Core AMD Opteron(tm) Processor 2212 HE
stepping        : 3
cpu MHz         : 2010.298
cache size      : 1024 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr sse sse2
ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy
bogomips        : 4022.18
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

[edit] 23xx Quad-Core Barcelona (AMD)

vendor_id  : AuthenticAMD
cpu family  : 16
model  : 2
model name  : Quad-Core AMD Opteron(tm) Processor 23xx
stepping  : 10

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Sempron/Sempron64 (AMD)

  • If it is a Socket A (Socket 462) Sempron you can be sure it is neither 64-bit capable nor SSE2/SSE3 capable.
  • If it is a Socket AM2 Sempron you can be sure it is both 64-bit and SSE3 capable.
  • If it is a Socket 754 it depends on the stepping (part number):
    • Steppings: CG (Part No.: *AX) or D0 (Part No.: *BA) have neither SSE3 nor AMD64
    • Stepping: E3 (Part No.: *BO) has SSE3
    • Stepping: E6 (Part No.: *BX) has SSE3 and AMD64
  • Anyway you should check /proc/cpuinfo for pni (SSE3) string before using -msse3.

vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor

Note: The model number may differ.

32 bit (Socket A)

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64 bit (SSE3 capable)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

Sempron64 - 32 bit

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Sempron64 - 64 bit

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Turion64 (AMD)

32 bit

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

SSE3 is called pni in /proc/cpuinfo for this Central Processing Unit.

[edit] Mobile Sempron (AMD)

vendor_id : AuthenticAMD
cpu family : 15
model : 8
model name : Mobile AMD Sempron Processor 2800+

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

If you have a Sempron without SSE3 (earlier chips), omit "-msse3".
SSE3 is called pni (prescott new instuction) by cpuinfo (cat /proc/cpuinfo).

Check it out, there are many different sempron mobile CPUs on sale, those that work at 1.8GHz are K8 (i.e. AMD SM 3000+), some others, older, aren't yet k8 but they're still k7 so you must specify athlon-xp instead of athlon64, anyway AMD announced in 2006 there will be 64bit Sempron Mobile CPUs so be carefull and pay attention, run a cat /proc/cpuinfo and then ask on AMD forums if you don't know what to do.

[edit] PowerPC Processors

[edit] PowerPC 601

The PowerPC 601 CPU is a mixture between POWER and PowerPC architectures and it is a must you specify -mcpu=601 for taking advantage of the POWER part of the processor and do not use unimplemented PowerPC instructions (implementation of both ISAs is incomplete on 601).

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=601 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

NOTE: Code created with this flags will not run in any other CPU but PowerPC 601, if you want to run on 601 and others use -mcpu=common and code will run in ANY POWER or PowerPC CPU.

[edit] PowerPC 603

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=603 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] PowerPC 603e

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=603e -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] PowerPC 604

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=604 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] PowerPC 604e

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=604e -O2 -pipe"
CXXFLAGS="${CFLAGS}"

-Os may be beneficial on older processors (of any kind, not just PowerPCs).

[edit] PowerPC 604e

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=604e -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="${CFLAGS}"

[edit] PowerPC 750 (G3)

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=750 -Os -pipe -fno-strict-aliasing"
CXXFLAGS="${CFLAGS}"

Given the smaller cache sizes, and the fact that the L2 cache is off-die on the G3, better performance may be achieved with -Os rather than -O2.

[edit] PowerPC 750cx (G3e)

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=750 -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="${CFLAGS}"

The 750cx offers more L2 cache than its predecessor, and moves it on-die for a performance boost. Better performance may be achieved with -O2.

[edit] PowerPC 7400 (G4)

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=7400 -O2 -pipe -maltivec -mabi=altivec"
CXXFLAGS="${CFLAGS}"

Note: -O3 is unstable on G4

[edit] PowerPC 7450 (G4 second generation)

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=7450 -O2 -pipe -maltivec -mabi=altivec"
CXXFLAGS="${CFLAGS}"

[edit] PowerPC 970 (G5)

CHOST="powerpc64-unknown-linux-gnu"
CFLAGS="-mcpu=G5 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1"

[edit] Cell Broadband Engine (Playstation 3)

Don't use -mcpu=970 it will make the PS3 slower due to the different pipeline (after all it is a CELL B.E and not a G5). GCC 4.3 or SDK 2.1+ is recommended. A second hint: Unlike x86-64 architecture, it is better to use 32bit user land on a PowerPC with a 64bit kernel. The benefit is, that pointers are 32bits so memory usage goes down slightly. In fact unlike x86_64, the number of registers don't change and the register size does not change (though the Linux kernel has issues with interrupts) and the kernel will save all 64bits of the register across context switches.

CHOST="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=cell -mabi=altivec"
CXXFLAGS="${CFLAGS}"
LDFLAGS=""

[edit] PowerPC (If you don't know which one)

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Embedded PowerPC CPUs

You should check /proc/cpuinfo for the CPU model and then for a correct -mcpu flag on man gcc. If you do not find it, use powerpc.

CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=<flag> -Os -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Other Processors

[edit] Sparc

CHOST="sparc-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Sparc 64

CHOST="sparc-unknown-linux-gnu"
CFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe"
CXXFLAGS="${CFLAGS}"

Be careful! The CHOST for Sparc64 is still sparc-unknown-linux-gnu, not sparc64-!

[edit] HPPA 1.1

CHOST="hppa1.1-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mschedule=7100LC -march=1.1 -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] HPPA 2.0

CHOST="hppa2.0-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mschedule=8000 -march=2.0 -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

[edit] Alpha ev56

CHOST="alpha-unknown-linux-gnu"
CFLAGS="-mcpu=ev56 -mieee -O2 -pipe"
CXXFLAGS="${CFLAGS}"

[edit] Alpha ev67

CHOST="alpha-unknown-linux-gnu"
CFLAGS="-mieee -mcpu=ev67 -Wa,-mev6 -O2 -pipe "
CXXFLAGS="${CFLAGS}"

This applies to ev68 (Compaq Alpha DS25) machines too. Without -mcpu=ev67 -Wa,-mev6 flags it cannot bootstrap at all.

[edit] See Also

[edit] gcccpuopt

gcccpuopt is a script which reports the optimum (32 bit) CPU specific options for your CPU and gcc version.

[edit] Relevant files in gcc source code

These files may be interesting if you want to know what does exactly your -march= mean.

Arch File Location Search for
x86/x86-64 gcc/config/i386/i386.c processor_alias_table[]
POWER gcc/config/rs6000/rs6000.c processor_target_table[]
SPARC gcc/config/sparc/sparc.c cpu_table[]
Alpha gcc/config/alpha/alpha.c cpu_table[]
HPPA gcc/config/pa/pa.c pa_handle_option (size_t code
ARM gcc/config/arm/arm-cores.def

[edit] Other links


profile

웹테러

2008.02.12 20:07:30
*.223.129.235

List of Articles
번호 제목 글쓴이 날짜 조회 수

SSH 게이트웨이 열어서 반대쪽 서버에 들어가는 방법

/etc/ssh/sshd_config에 있는 GatewayPorts yes 로 바꾼후, 재가동 시킨다 그다음 접속하면 됨. 최초 접속하려는 클라이언트에서 # ssh -R 0000:2222:localhost:22 xxx.xxx.xxx.xxx(서버주소) 로 접속한다. 이제는 반대로 서버측에서 열린 포트를 통해 접속을 시도한다. # ssh -p 2222 -l{id} localhost -> 로컬 호스트에 열려있는 2222포트가 바로 상대쪽 ssh 서버 포트이다. -> 이것을 통해 접속하면 상대쪽 ssh에 접속이 가능.! 그리고 게이트웨이가 된 SSH 서버에서 ...

localhost ~ # qlop -l binutils

localhost ~ # qlop -l binutils Sat Feb 9 05:51:08 2008 >>> sys-devel/binutils-2.18-r1 Sat Feb 9 23:55:11 2008 >>> sys-devel/binutils-2.18-r1 Tue Feb 12 02:33:41 2008 >>> sys-devel/binutils-config-1.9-r4 Wed Feb 13 04:54:19 2008 >>> sys-devel/binutils-2.18-r1 Wed Feb 13 06:42:06 2008 >>> sys-devel/binutils-config-1.9-r4 Wed Feb 13 06:52:07 2008 >>> sys-devel/binutils-2.18-r1 Thu Feb 14 04:07:27 2008 >>> sys-devel/binutils-config-1.9-r4 Thu ...

문제보고 2

execve("/usr/bin/gcc", ["gcc", "hey.c", "-Wl,--export-dynamic", "-L/usr/lib", "-lGLU"], [/* 29 vars */]) = 0 brk(0) = 0x804c000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ee7000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=29954, ...}) = 0 mmap2(NULL, 29954, PROT_READ, MAP_PRI...

Gentoo 설치, 나에게는 거대한 일보입니다. image

Gentoo 설치, 나에게는 거대한 일보입니다. 보기 개요 1375 pointsSubmitted by golden on 월, 2005/11/14 - 10:49pm. 자유 게시판 0 points 오늘 드디어 젠투 2005.1 을 설치하였습니다. 설치가이드를 프린트하지 못하여 시디에 있는 가이드 문서를 다른 콘솔화면(ctrl+alt+f2) 에 불러 두고 왔다 갔다하면서 작업하였지요. 저는 유니버스 시디로 했습니다. 그러므로 stage3 으로 시작한 것입니다. 흔히들 1로부터 하여야 최적화 시킬 수가 있다고 하지만 한번 설치하는 것...

문제 보고.. [11]

i686-pc-linux-gnu-gcc -march=prescott -O2 -pipe -fomit-frame-pointer -o .libs/CallbackMaker CallbackMaker-CallbackMaker.o -Wl,--export-dynamic ../../../src/.libs/libglut.so -lm -L/usr/lib /usr/lib/libGLU.so /usr/lib/libGL.so /usr/lib/libSM.so /usr/lib/libICE.so /usr/lib/libXmu.so /usr/lib/libXt.so /usr/lib/libXi.so -lpthread /usr/lib/libXxf86vm.so /usr/lib/libX11.so /usr/lib/libXext.so /usr/lib/libXau.so /usr/lib/libXdmcp.so -ldl /usr/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-...

Safe CFLAGS to use for Gentoo - CHOST 설정방법에 대한 내용 [1]

This article is part of the FAQ series. General • Portage • Wiki Warning: THIS PAGE IS FOR SAFE FLAGS ONLY. Please do not include any flags that aren't 100% safe. Just because it works for you doesn't mean it will for everyone else. We aren't interested in benchmark scores, personal anecdotes, rumors, things your really smart uncle once told you, random -m flags that made your box dispense root beer, o...

젠투에서 설치된 패키지 보는 방법 image

portage-utils도 좋습니다. Submitted by griun on 수, 2005/07/27 - 2:04am. emerge portage-utils q qlop -l » [quote]# emerge epm[/quote]epm 을 설치해 Submitted by 정태영 on 화, 2005/07/26 - 10:06pm. 인용: # emerge epm epm 을 설치해보세요 :) 사실 /var/db/pkg 밑을 직접 확인해도 가능하지만... epm 을 이용하면 rpm 에 익숙한 사람들이 쉽게 젠투에 적응할 수 있을 듯 싶군요... epm -qa //깔려있는 모든 패키지를 봅니다 epm -ql 패키지네임 // 어떤 패키지에 속한 파일을 ...

젠투 전체 다시 깔고 기억해야 할 부분을 적어놓았다.

------------------------------------------------------------------------------------------------------------------------ 1. 삼바설치할것. 2. 아파치 설치할것. 3. ufed 설치할것. USE 플래그 자동 편집기 ------------------------------------------------------------------------------------------------------------------------ # /etc/conf.d/net.eth0 -> 편집해서 설정한다. 아무것도 설정하지 않으면 안됨. config_eth0="192.168.0.10/24" routes_eth0="default gw 192.168.0.1" 그리곤 재가동 하면 됨 ----------------------------------------------------------------------...

리눅스 파티션(하드) 통째로 복사

루트에서 cp -av * 복사할곳전이렇게 복사했는데요... 루트에서 cp -av * 복사할곳 전이렇게 복사했는데요... 다른 방법이 있으려나..? dump와 restore를 써보세요. "cd 원본위치 && tar cf - . | tar xfp - -C 대상위치"도 정석 중 하나죠. 지극히 윈도우즈 유저적인 생각인데요 ^^ http://acronis.com/products/trueimageserver/ 이걸 참고해보세요. 제가 리눅스 파티션을 백업해보지는 않았으나, 윈도우즈 파티션을 백업을 이것으로 자주 하거든요. 고스트 안씁니다. ^^ 리눅스...

디스크 쿼터 설정하기

디스크 쿼터 1)커널에서 쿼터 지원여부 확인 [root@netdosapro44 ~]# cat /var/log/dmesg | grep quota VFS: Disk quotas dquot_6.5.1 2)/etc/fstab에 쿼터 옵션 추가 # This file is edited by fstab-sync - see 'man fstab-sync' for details LABEL=/ / ext3 defaults.usrquota 1 1 LABEL=/boot1 /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/home /home ext3 defaults 1 2 none /proc proc ...

Gentoo Linux에서 Wake on Lan 기능 사용하는 방법 imagefile

내 컴퓨터 환경에 대해서 .. OS : Gentoo Linux 공유기 : IPTIME G304 LINUX 머신 아이피 : 192.168.0.xx 현재 공유되어 있는 상태이다. 원격 부팅(Wake on-LAN : WOL)에 관해 관심이 많아 지고 있다. 예전에는 고급사양으로 인식되어 일부 고가의 시스템에서만 존재하였으나, 현재는 출시되는 모든 메인보드에 WOL기능이 추가되어, 원격 부팅과 원격 조정을 할 수 있게 된 것이다. 원격 부팅으로 얻을 수 있는 효과는 매우 크다. 집과 사무실에서 인터넷에 ...

VMware에서 writelock이 걸렸을때,

갑자기 vmware에서 writelock이 걸렸다면서 기동할수 없다는 메세지가 떴다. 황당했다. 해결방법은 간단했다. 검색해서 알게 된 사실이지만, 시간이 해결한다는 것이다. 다음에 이런일이 생기면, 컴퓨터를 재 가동시켜보거나, vmware 데몬은 재시작하고 시간이 지나면 다시 컴퓨터를 켜보도록 하자

리눅스에서 UTF-8형식 파일의 압축 해결 imagefile

플랫폼 : 젠투 만약 리눅스에서 UTF-8 설정을 쓰고 VMware에서 윈도우를 사용하고 있다면, 압축하는 과정에서 애를 먹게된다. 그동안 윈도우에서 압축을 해왔는데, 만능 rar 프로그램으로 간단히 해결하게 되었다. 이렇게 간단히 해결되는 것을 아직도 왜 몰랐을까.. ㅜ.ㅜ; # rar a -r 파일명 디렉토리 이것으로 간단히 해결하자.

RealVNC 설정할때 꼭 기억해야 할것.

File: /etc/X11/xorg.conf Section "Module" Load "vnc" Load "freetype" Load "type1" Section "Screen" #This tells X where to locate the VNC password file Option "PasswordFile" "/home/your_user_name/.vnc/passwd" Section "Files" ModulePath "/usr/lib/modules/extensions" ModulePath "/usr/lib/xorg/modules" VNC 설정할때 Emerge 시키고 이후, 반드시 해야할것이 있다. 위의 내용처럼 Load 모듈에 VNC를 포함시키고 Files에 모듈 경로를 입력후 Screen에 패스워...

Winamp 다운로드 imagefile

Winamp 다운로드 제 홈피에 있는 Webterror 음악듣기를 하시면 다음과 같이 음악 목록이 나옵니다. 그 다음은 여기를 클릭하세요~.

RealVNC 프로그램 file

RealVNC 프로그램

emerge -uND world 할때 컴파일 에러나면

emerge -uND world 할때, 패키지 하나만 제외하고 업데이트 하고 싶으면, 아래의 폴더를 만들고, 파일을 만든다. 그리고 적는다. /etc/portage/profile/package.provided 파일내용 =========================================================================================== net-ftp/proftpd-1.3.1_rc2 이런식으로

Apache2 .... 홈디렉토리 설정 /etc/apache2/httpd.conf [1]

제 컴터 젠투 입니다.~~ Apache2 .... 홈디렉토리 설정 /etc/apache2/httpd.conf "httpd.conf"에서 "UserDir www"로 주었습니다. 그리고 Directory /home/*/www로 물론 주었구요... 그런데 아파치 스타트하고 페이지를 보면 http://localhost 하면 테스트 페이지 나옵니다. http://localhost/~username/index.php 하면 페이지가 안뜨네요.. 폴더 권한도 755로 맞추었구요.. 다 했는데... 왜 페이지가 안나오는 걸까요... /etc/conf.d/apache2 파일 입니다. =====================...

HOWTO Use Portage Correctly

Introduction There are a number of major elements that define any Linux distribution. One of the most important is the package management philosophy or system that the distribution embraces. For example, we can categorize distributions designed around RPM as Red Hat based, or we can say that Ubuntu or Knoppix are derived from Debian because they all use APT. The package manager found at the heart of Gentoo Linux is know...

단어 학습 프로그램 file

단어 학습 프로그램


profile하루하루를 망설이며 뱃사공없는 나룻배처럼 구름위를 떠돌아 다니는 사나이. 한때 주위의 새로움에 미친듯이 덤벼들었지만 이제는 조용히 받아들이기만 하는 사람. 

Category

Recent Trackback