Bug 31192

Summary: Bootstrapping issues with RC2 anaconda
Product: [Retired] Red Hat Linux Reporter: Jay Turner <jturner>
Component: kernelAssignee: Michael K. Johnson <johnsonm>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: hjl, srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-03-13 14:47:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Glen Foster 2001-03-09 16:39:31 UTC
The following was actually reported by H.J. Lu on the beta-team mailing
list.  Erik Troan believes this is a must-fix (show-stopper) for the
Florence release:

========= Begin except from H.J. ==========
Does RedHat do bootstrap with distribution build? From the zlib
problem, I can tell at least anaconda is not built against the new
distribution. Anaconda built on RC2 doesn't work. It cannot insmod
any kernel modules during the first stage. The same anaconda built
on RC1 works fine. My guess is some packages used to build anaconda
are broken in RC2. Unfortunately, I only have one machine to work
with. I have to use it for build as well as test. It will take me a
while to figure out which packages are broken.

Comment 1 Glen Foster 2001-03-09 16:40:51 UTC
Follow-up from the beta-team mailing list:

=========== teg writes: =============
The cration of the installer image extracts the files from the
packages in the current tree, so "yes".



Comment 2 Glen Foster 2001-03-09 16:42:00 UTC
More follow-up from beta-team mailing-list

========== H.J. replies: ===========
I was talking about the anaconda rpm IN your current tree. I don't
think it is built against your current tree. It is a chicken and
egg problem. That is why I said "bootstrap".

BTW, I relinked loader, compiled on RC1, on RC2. It seems to work. It
indicates the .a files are ok. Since glibc is unchanged from RC1 to
RC2, I suspect gcc and/or kernel header files are broken in RC2. I
will track it down tomorrow.

Comment 3 Arjan van de Ven 2001-03-09 17:05:42 UTC
------ Alan's response ------
Sorry. The syscall macros in the kernel are not for userspace. Any app
depending on kernel macros is wrong. I think you can expect the Linus tree
to do something similar at some point

Alan


Comment 4 hjl 2001-03-09 17:15:58 UTC
That is not a bad thing by itself. But those user space programs should         
be fixed first. At least you should protect them with #ifdef __KERNEL__.        
                                                                                
BTW, I have been telling everyone to use syscall () in glibc. But ...           
I even submitted a patch to glibc to remove the support for _syscall            
on ia64:                                                                        
                                                                                
2000-09-29  H.J. Lu  <hjl>                                              
                                                                                
        * sysdeps/unix/sysv/linux/ia64/sysdep.S (__ia64_syscall):               
        Removed.                                                                
                                                                                
But it is still there.                                                          


Comment 5 hjl 2001-03-09 17:17:10 UTC
Here is a patch I proposed. I will send patches for anaconda and modutils
later.

--- 1   Fri Mar  9 09:11:42 2001
+++ /usr/include/asm/unistd.h   Thu Mar  1 16:21:40 2001
@@ -228,8 +228,6 @@
 #define __NR_getdents64                220
 #define __NR_fcntl64           221
 
-#ifdef __KERNEL__
-
 /* user-visible error numbers are in the range -1 - -124: see
<asm-i386/errno.h> */
 
 #define __syscall_return(type, res) \
@@ -317,8 +315,6 @@ __asm__ volatile ("push %%ebp ; movl %%e
          "0" ((long)(arg6))); \
 __syscall_return(type,__res); \
 }
-
-#endif /* __KERNEL__ */
 
 #ifdef __KERNEL_SYSCALLS__
 


Comment 6 hjl 2001-03-09 18:58:16 UTC
It turned out it was quite hard to get rid of all the usage of _syscall in
the user programs. You can try my patch to asm/unistd.h and rebuild all the
rpms. You will see many failures.

Comment 7 Glen Foster 2001-03-09 23:29:11 UTC
This defect considered MUST-FIX (show-stopper) for Florence Gold

Comment 8 Matt Wilson 2001-03-12 20:34:51 UTC
this is a glibc issue, AFAIK.


Comment 9 Matt Wilson 2001-03-12 22:37:44 UTC
rather, kernel


Comment 10 Bill Nottingham 2001-03-13 02:18:26 UTC
anaconda itself is fixed now (at least, it should be...)

Comment 11 Michael K. Johnson 2001-03-13 14:47:02 UTC
2.4.2-0.1.28 (when we build it...) should have this fixed, I think.