r888 - trunk

tushar at linuxfromscratch.org tushar at linuxfromscratch.org
Sun Sep 19 11:32:05 PDT 2004


Author: tushar
Date: 2004-09-19 12:32:03 -0600 (Sun, 19 Sep 2004)
New Revision: 888

Modified:
   trunk/errors.txt
Log:
Updated Hint: errors

Modified: trunk/errors.txt
===================================================================
--- trunk/errors.txt	2004-09-04 06:35:44 UTC (rev 887)
+++ trunk/errors.txt	2004-09-19 18:32:03 UTC (rev 888)
@@ -51,14 +51,17 @@
 
                                                   , Compiling (gcc) ...
                               , ... not found ---<- Dependencies (depmod)
-          Compile-time Error <                    ` Linking (ld)
-       ,'                     `.
+          Compile-time Error < -,                   ` Linking (ld)
+        /                     `. `- label at end*
+       /                        \
 Error <                          Segfault
        `.                     ,'
           Run-time Error ----<          , full
                               ` Hangup <
                                         ` Prog 
         				  only
+____
+* gcc-3.4 and later don't accept labels at the end of compound statements
 
 That looks pretty simple, eh? But that is only the beginning. We will have a 
 look at each of these error types closely!
@@ -227,8 +230,22 @@
 are compiling the modules with the same compiler as you used when compiling the
 kernel.
 
-1.2 Segmentation Fault
+1.2 Label at the end of compound statement
 
+Since gcc-3.4.x, labels at the end of a compound statement are treated as 
+errors, though they are widely used in spite of their scruffyness. Certainly 
+this problem is easily solved: just replace the ocurrences of
+
+  goto [label];
+
+with
+
+  return;
+
+and remove the label from the source or comment it out.
+
+1.3 Segmentation Fault
+
 This is most annoying. It means an application tries to get something from a 
 file/pipe/device/environment variable that is not set and has no fallback if 
 there is nil but rather dumps core and stop immediately. If the following in-
@@ -236,7 +253,7 @@
 FAQ which can be found at http://www.bitwizard.nl/sig11 - but look at this 
 section first.
 
-1.2.1 Segfault during compilation
+1.3.1 Segfault during compilation
 
 Segmentation faults during compilation are rarely seen. You only get SIG11 if
 the memory is full while building a package and it will happen only on systems
@@ -258,7 +275,7 @@
 losetup -d /dev/loop0
 rm /tmp/swapspace
 
-1.2.2 Segfault during execution
+1.3.2 Segfault during execution
 
 If a program segfaults, there is not much you can easily do to hunt the error
 down unless you have some programming skills. Contact the developer and give
@@ -287,7 +304,7 @@
 else use the LANG environment variable minus one char". Now it is your turn,
 if you still want to get that bug by yourself!
 
-1.3 Hangup
+1.4 Hangup
 
 Hangups are the most annoying errors there are. Fortunately, they are as seldom
 as annoying with Linux (unless you use bleeding edge sources only). Hangups are
@@ -297,7 +314,7 @@
 compilers, the latter is harder to find. Try to downgrade the driver you think 
 is responsible for the hangup and send a report to the relative mailing list.
 
-1.3.1 Full Hangup
+1.4.1 Full Hangup
 
 You recognize a full hangup by pressing the [CAPS LOCK] key. If the led is
 flashing, the keyboard is still hooked to the console, so that's no full
@@ -308,14 +325,14 @@
 the sysrq key feature compiled into your kernel. For further information, read
 [/usr/src/linux/Documentation/sysrq.txt].
 
-1.3.2 Program-only Hangup
+1.4.2 Program-only Hangup
 
 If the program hangs up leaving the rest system intact, you can use the
 appropriate of the kill/killall/xkill command to get rid of it. Program-only
 Hangups occurs on infinite loops, e.g. trying to read from a blocked pipe, in
 most cases the load will go up visibly.
 
-1.4 Other errors
+1.5 Other errors
 
 If you get an error message not covered by this hint, check the relevant 
 mailinglists, enter the error message into google and look 1. if there is a 
@@ -325,7 +342,7 @@
 information about the system you are trying to build the package on (logs,
 versions, strace output, dmesg output, debug messages and so on).
 
-1.5 Some Useful Links
+1.6 Some Useful Links
 
 About the SIG11 (Segfault) Error: 	http://www.bitwizard.nl/sig11
 This page has some general information about the SIG11 error
@@ -358,9 +375,13 @@
     * Adding a Links section with a link to a book that helps in aquiring C++ 
       Skills.
 
-  [2004-01.20]
+  [2004-01-20]
     * Added a short section about redefined functions.
 
+  [2004-09-07]
+    * Minor corrections, added gcc-3.4 inability to accept labels at the end of
+      a compound statement and it's solution.
+
 CREDITS:
 Thanks to teemu for reminding me on "-I" and "-l" as much as Tushar for the 
 warning about warnings and ringing the bell of the "-w" option, not to




More information about the hints mailing list